412 Commits

Author SHA1 Message Date
rebel onion 28f0d8ca6e [Enhancement] Support Multiple YouTube API Keys (#606)
* feat: multiple YouTube API keys

* fix: requested changes
2025-02-10 11:30:28 -08:00
Kieran Eglin b62d5c201b Bumped version v2025.1.27 2025-01-27 15:48:20 -08:00
Kieran 6ead29182d [Enhancement] Auto-update yt-dlp (#589)
* Added a command for updating yt-dlp

* Added a yt-dlp update worker to run daily

* Added a new file that runs post-boot when the app is ready to serve requests; put yt-dlp updater in there

* Updated config to expose the current env globally; updated startup tasks to not run in test env

* Removes unneeded test code
2025-01-27 11:33:38 -08:00
Kieran 62214b80a6 [Enhancement] Run fast indexing on source creation and at higher priority (#583)
* Updated default job priorities for downloading queue

* Added the ability to set priority to various downloading helpers

* Sets sources to fast index on creation
2025-01-22 14:54:15 -08:00
Kieran 704d29dc7e [Enhancement] Add support for UMASK environment variable (#582)
* Add umask setting to docker start

* Testing adding umask env var

* Added umask to README
2025-01-21 14:22:04 -08:00
Kieran 3dd20141e0 Ensured first indexing pass runs if a source has never been indexed before (#581) 2025-01-21 11:55:27 -08:00
Kieran Eglin 993c57f853 Bumped version v2025.1.17 2025-01-16 16:39:10 -08:00
Kieran 63bb4d2327 Added pending check before downloading media (#571) 2025-01-15 11:35:59 -08:00
Kieran 80406c9e0e Change a GT to a GTE (#570) 2025-01-15 10:54:45 -08:00
Kieran Eglin 61ae50735f Bumped version v2025.1.14 2025-01-14 13:13:32 -08:00
Kieran d8d7353228 [Enhancement] Add Discord link (#565)
* Add a discord link in sidebar

* Added discord link to README
2025-01-14 13:12:43 -08:00
Kieran Eglin 03a0afd657 Add blurb about websockets 2025-01-14 12:54:43 -08:00
Kieran ca90da49f5 Add simple icons (#564) 2025-01-14 12:53:35 -08:00
Kieran Eglin 40cde43be1 Added grafana dashboards 2025-01-14 12:04:33 -08:00
Kieran e9f6b45953 [Enhancement] Add rate limiting to yt-dlp requests; prevent saving Media Items when throttled by YouTube (#559)
* Added sleep interval to settings

* Added new sleep setting to yt-dlp runner and added tests

* Added setting for form; updated setting name

* Updated form label

* Prevented saving/updating of media items if being throttled by youtube

* Added the bot message to the list of non-retryable errors

* Fixed typo
2025-01-14 11:38:40 -08:00
Kieran fb27988963 [Enhancement] Add Prometheus support (#556)
* Added prometheus to deps list

* WIP - screwing around with Prometheus and grafana

* Added basic prometheus config

* Updated docs in prom_ex module

* Updated README
2025-01-09 12:38:17 -08:00
Kieran 8a40d296c4 Updated healthcheck to run every 30s (#555) 2025-01-09 11:17:55 -08:00
Kieran Eglin d8fdba8f6d Bumped version v2025.1.3 2025-01-03 15:40:36 -08:00
Kieran e4c186eacb Added IDs as an option for output templates (#543) 2025-01-03 10:50:43 -08:00
Kieran e150355874 Added the ability to mark chapters via sponsorblock (#542) 2025-01-03 09:53:38 -08:00
Kieran Eglin 967e21a8a1 Removed double alias 2025-01-03 09:13:58 -08:00
Kieran 9185f075ca [Enhancement] Overhaul indexing to be more efficient (#540)
* WIP - created methods for breaking on existing media

* WIP - got everything hooked up for POC

* Add some docs, tests

* Refactors

* Updated TODO
2025-01-02 15:48:18 -08:00
Kieran Eglin 09d1653f4b Removed testing route from router 2024-12-30 17:44:45 -08:00
Kieran Eglin 115f675ae3 Bumped version v2024.12.31 2024-12-30 17:42:18 -08:00
Kieran f51b219860 [Bugfix] Improve OPML route security (#535)
* WIP - moved plugs; set up a new token-protected route plug

* Added a route_token column to settings model

* Hooked up token_protected_route plug to database

* Hooked up new OPML route to UI; turned RSS and OPML feed buttons into links

* Docs, tests

* Added a note about the phoenix bug
2024-12-30 17:40:23 -08:00
Kieran Eglin 246ca3b299 Bumped version v2024.12.29 2024-12-29 10:14:03 -08:00
Robert Kleinschuster c9bd1ea7bd Added OPML Endpoint for podcast rss feeds (#512)
* Added OPML Endpoint for podcast rss feeds

* changed opml route and added controller test for opml endpoint

* add copy opml feed button

* add copy opml feed button - correct url

* fix html indenting

* add indentation to opml

Co-authored-by: Kieran <kieran.eglin@gmail.com>

* use convention for unused controller params

Co-authored-by: Kieran <kieran.eglin@gmail.com>

* add test for opml_sources helper function

* change opml endpoint to be more inline with the other routes

---------

Co-authored-by: robs <git@robs.social>
Co-authored-by: Kieran <kieran.eglin@gmail.com>
2024-12-20 11:47:03 -08:00
Kieran a2a70fcce2 [Bugfix] Respect cookies preference when performing download pre-check (#517)
* Updated get_downloadable_status to pass yt cookies

* Updated tests
2024-12-17 11:18:47 -08:00
Kieran Eglin 0be469dcb0 Added --warnings-as-errors to mix test but only when called by ex_check 2024-12-13 12:41:06 -08:00
Kieran 023f449dbe [Housekeeping] Pass the current action when calling the yt-dlp runner (#514)
* Updated yt-dlp runner to take an action type

* Added actions to all callers of the yt-dlp runner

* [SQUASH] updated test files to use new mocking strategy

* Removed unneeded alias
2024-12-13 12:29:05 -08:00
Robert Kleinschuster e9d365ee9e use css truncate everywhere and remove StringUtils.truncate function (#513)
Co-authored-by: robs <git@robs.social>
2024-12-13 12:23:12 -08:00
Kieran 53e106dac2 [Enhancement] Add sorting, pagination, and new attributes to sources index table (#510)
* WIP - started improving handling of sorting for sources index table

* WIP - Added UI to table to indicate sort column and direction

* Refactored toggle liveview into a livecomponent

* Added sorting for all table attrs

* Added pagination to the sources table

* Added tests for updated liveviews and live components

* Add tests for new helper methods

* Added fancy new CSS to my sources table

* Added size to sources table

* Adds relative div to ensure that sorting arrow doesn't run away

* Fixed da tests
2024-12-13 09:49:00 -08:00
Robert Kleinschuster e56f39a158 Separate tabs for pending and downloaded in media history (#508)
* Separate tabs for pending and downloaded in media history
 - closes #504

* correct query for pending state and remove unecessary assign

* correct pending where

---------

Co-authored-by: robs <git@robs.social>
2024-12-13 08:58:42 -08:00
Robert Kleinschuster 01c9afa1c3 truncate table columns via css (#507)
- closes #506

Co-authored-by: robs <git@robs.social>
2024-12-13 08:57:32 -08:00
Kieran Eglin 5371b5d236 Bumped version v2024.12.10 2024-12-10 14:32:20 -08:00
Kieran 83b1fa23d0 [Housekeeping] Update config options to enhance NixOS compatibility (#493)
* Make more paths configurable

* Updated tzdata default path to use the specified 'extras' path
2024-12-10 14:19:34 -08:00
Kieran f8e7b2e42d Added support for 1440p (#498) 2024-12-06 11:13:22 -08:00
Kieran a5b65061f0 [Housekeeping] Bump Phoenix LiveView to 1.0.0 (#495)
* bumped liveview to 1.0.0

* Converted interpolation to new syntax
2024-12-06 10:37:15 -08:00
Kieran 0fb971dd0a Added presets to cutoff date selector (#494) 2024-12-04 12:32:47 -08:00
Kieran Eglin 75fb1a6ab9 Bumped version v2024.11.27 2024-11-27 10:43:07 -08:00
Kieran 652fcccb4a [Enhancement] Add audio track language selection to Media Profile (#487)
* Moved quality options to their own module

* Added language and format selection to quality option builder

* [WIP] migrating tests

* Added audio_lang to media_profile table

* Renamed column; added format options and tests

* Adds UI for audio_track to the media profile form

* Adds a version string to in-app streams to help with cache busting
2024-11-27 10:39:29 -08:00
Kieran bfb27427ce [Bugfix] Ensure livestreams aren't downloaded until they're finished processing (#485)
* Added logic to ignore downloads that aren't in the right live state

* Added tests for get_downloadable_status method

* Added tests for media downloader module

* Added tests to download worker modeule
2024-11-26 11:56:33 -08:00
Kieran d9c48370df [Enhancement] Adds ability to enable/disable sources (#481)
* [Unrelated] updated module name for existing liveview module

* Updated toggle component and moved MP index table to a liveview

* [WIP] reverted MP index table; added source count to MP index

* Moved new live table to sources index

* Added 'enabled' boolean to sources

* Got 'enabled' logic working re: downloading pending media

* Updated sources context to do the right thing when a source is updated

* Docs and tests

* Updated slow indexing to maintain its old schedule if re-enabled

* Hooked up the enabled toggle to the sources page

* [Unrelated] added direct links to various tabs on the sources table

* More tests

* Removed unneeded guard in

* Removed outdated comment
2024-11-21 14:38:37 -08:00
Duong Nguyen 4c8c0461be [Enhancement] Add option to use existing Media Profile as template for new profile (#466)
* Add option to use existing Media Profile as template for new profile

* Forgot to commit the edit form too

* Reset deletion mark on Source controller

* Add test for new preload profile feature

* mix check
2024-11-20 10:25:53 -08:00
Kieran a02f71f304 [Enhancement] Add support for yt-dlp plugins + add lifecycle script event for app boot (#465)
* Added new script type to pre-job startup tasks

* Updated Dockerfile to create the needful directories

* added tests
2024-11-08 15:38:00 -08:00
Kieran 83c10b2b00 [Enhancement] Track the predicted final filepath for indexed media items (#461)
* Added ability to pass additional yt-dlp options to indexing step

* Added predicted_filename to media struct

* WIP added ability to predict filepath to source indexing

* renamed predicted_filepath

* Added the ability to predict filepath when fast indexing

* Add predicted_media_filepath to media items table

* Addressed TODOs
2024-11-08 09:42:59 -08:00
Kieran Eglin 8c0dd0bb6b Bumped version v2024.10.30 2024-10-30 14:13:08 -07:00
Kieran Eglin 7a374f1162 Updated README 2024-10-30 14:12:29 -07:00
Kieran a5afcf168b Went back to using original_url over webpage_url to improve short detection (#447) 2024-10-30 14:09:28 -07:00
Kieran Eglin 2f83fe03d2 Updated default tzdata location to prevent needless pulls every time I push a new version 2024-10-30 10:18:03 -07:00