* feat(lists): integrate Omegabrr
* feat(lists): add missing lists index
* feat(lists): add db repo
* feat(lists): add db migrations
* feat(lists): labels
* feat(lists): url lists and more arrs
* fix(lists): db migrations client_id wrong type
* fix(lists): db fields
* feat(lists): create list form wip
* feat(lists): show in list and create
* feat(lists): update and delete
* feat(lists): trigger via webhook
* feat(lists): add webhook handler
* fix(arr): encode json to pointer
* feat(lists): rename endpoint to lists
* feat(lists): fetch tags from arr
* feat(lists): process plaintext lists
* feat(lists): add background refresh job
* run every 6th hour with a random start delay between 1-35 seconds
* feat(lists): refresh on save and improve logging
* feat(lists): cast arr client to pointer
* feat(lists): improve error handling
* feat(lists): reset shows field with match release
* feat(lists): filter opts all lists
* feat(lists): trigger on update if enabled
* feat(lists): update option for lists
* feat(lists): show connected filters in list
* feat(lists): missing listSvc dep
* feat(lists): cleanup
* feat(lists): typo arr list
* feat(lists): radarr include original
* feat(lists): rename ExcludeAlternateTitle to IncludeAlternateTitle
* fix(lists): arr client type conversion to pointer
* fix(actions): only log panic recover if err not nil
* feat(lists): show spinner on save
* feat(lists): show icon in filters list
* feat(lists): change icon color in filters list
* feat(lists): delete relations on filter delete
* feat(indexers): update SeedPool IRC port
* feat(indexers): SeedPool add db migration
* fix(indexers): adapt regex, tests and vars
* fix(indexers): set internal var to origin to fix parsing
---------
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
* feat(database): SQLite database backups
* feat(database): do not produce SQL injections
* feat(database): retain all backups if 0 or less
refactor(database): specify database driver in func names
* refactor(database): return early on cleanup
* refactor(database): do not call cleanup func if max backups set to 0
* refactor(database): backup retention behavior
* feat(database): improve logging
---------
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
* feat(indexers): update FearNoPeer IRC server
* Update FNP irc server and add migrations for SceneHD and BitHUmen changes all in one.
The update for FNP from LibraIRC to P2P-Network will set the nick to nick_0 to not cause any UNIQUE constraint issues. Users will have to update or merge with existing P2P-Network config.
* fix(wildcard): avoid excessive allocations every loop
* are you going to Scarborough Fair?
* ruby ruby ruby ruby
* ride on, little murphy
* shirley?
* to the moon
* reggie are you there?
* code 99
* my doctorate is in Art History
* helps to be consistent
* tidy
* slow and steady gets the clam
* oysters were better anyway
* DIAL TONE
* feat(releases): delete based on age/indexer/status
* fix: sanitize releaseStatuses
* swap to RMSC
* add AgeSelect component
* improve texts
* refactor: streamline form layout
* improve text
* remove a paragraph
* improved UX
explaining the options, better error handling
* reinstate red border
* fix: labels to match other similar labels for selects
- improved contrast for the word "required" in desc
- added red asterisk to required select
* minor text improvement to warning
* fix: delete-button vertical alignment
* feat: cleanup queries
* feat: cleanup delete
---------
Co-authored-by: ze0s <ze0s@riseup.net>
fix(database): Correct timezone handling for release timestamps
Changed the column type for release timestamps from 'timestamp' to 'timestamptz' in the PostgreSQL database. This update ensures that the release ages are accurately reflected in the web UI by storing the correct timezone information. Previously, the data was stored in UTC but interpreted as local user time, causing a 3-hour offset in the web UI or in my case 11-hour offset. The conversion now correctly interprets and displays the release times based on UTC.
Fixes#1138
* feat(releases): show details in list view
* fix(releases): activitytable columns type
* fix(releases): incognito mode
* feat(releases): move details button
* do we wanna truncate?
* fix(web): release column width at full size
---------
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
* add db seed/reset functionality
* speculative db migration support
* update postgresSchema
* refactor: only migrate data, no schema
* implement transaction in db migration function
* refactor db:seed and db:reset
added transaction to both and updated help message
* change table order
* skip on foreign key constraint violations
* skip feed_cache
* set constraints to null
* fix seed and reset
* simplify migrate func
This version of the function should behave similarly to the previous version, but with less repetition and by relying on PostgreSQL's automatic transaction handling, which starts a new transaction for each separate statement when not in a transaction block. Also, it prepares the insert statement only once for each table, which can significantly improve performance when there are many rows to insert.
* fixed release_action_status
* refactor db:seed and db:reset
* minor adjustment to const usage
* fixed usage examples
* refactor seed/migrate
* refactor(database): seed and convert
* refactor(database): make tables list sorted a-z
* chore(deps): go mod tidy
* refactor(database): convert improve log output
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* feat(backend): added change password api endpoint.
* feat(web): added profile UI to change password.
I think we can change the username too, but I don't know if we should for now disabled the username field.
* refactor: don't leak username or password.
* refactor: protect the route.
* generic
* feat: add ChangeUsername
* fix(tests): speculative fix for TestUserRepo_Update
* Revert "feat: add ChangeUsername"
This reverts commit d4c1645002883a278aa45dec3c8c19fa1cc75d9b.
* refactor into 1 endpoint that handles both
* feat: added option to change username as well. :pain:
* refactor: frontend
* refactor: function names in backend
I think this makes it more clear what their function is
* fix: change to 2 cols with separator
* refactor: update user
* fix: test db create user
---------
Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
Co-authored-by: soup <soup@r4tio.dev>
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
Co-authored-by: ze0s <ze0s@riseup.net>
* feat(qbittorrent): add priority handling
* fix: check if torrent queueing is enabled
* fix: only check for torrent queueing if priority is set
* fix: improve tooltip message
* feat: enable torrent queueing if disabled
* change to SetPreferencesQueueingEnabled
* feat(actions): rename field
* chore: bump pkg go-qbittorrent to v1.8.0
* chore(deps): update go-qbittorrent to v1.8.1
* chore(deps): go mod tidy
---------
Co-authored-by: ze0s <ze0s@riseup.net>