* feat(filters): RED and OPS fetch record label from API
* test: add record label to RED and OPS test data
* refactor: record label check
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* 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(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>
* 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>
* feat(web): link stats to release table
- added Errored Pushes
- Made Recent Activity same color as Stats
* feat(releasetable): made links a separate row
https://i.imgur.com/ZoAOrXP.png
remove comment
* added LinkIcon to StatsItem
- Changed grid-cols to 2, as we now have 4 for narrow widths
* fix linting
* move some text modifier to parent element
* feat: add scale on hover with transition
deduplicated some classes
* adapt gap between StatsItems for mobile
remove border and title on stats divs
---------
Co-authored-by: Fabricio Silva <hi@fabricio.dev>
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
* feat(filters): reflect enabled actions
* dont store release unless enabled action found
* store the release after the delay
* add new parameter to FindByFilterID method
* feat(notifications): add lunasea
* fix(web): truncate overflow in PasswordFieldWide
* refactor(notifications): centralize msg building
Left the building logic in discord.go and notifiarr.go as is because of their unique structure.
* refactor: moved components and swapped to outline
- Refactored the iconComponentMap to use a single iconStyle variable.
* upped size from 4 to 5
* rename NotificationBuilder function
modernized APIClient, removed Notification type collision
enhancement: APIClient now follows the recent RFC3986 (this wasn't the case previously)
enhancement: improved APIClient DX by adding a queryString parameter (avoiding URLSearchParameters)
fix: changed Notification type to ServiceNotification (collision with built-in browser API https://developer.mozilla.org/en-US/docs/Web/API/Notification -- so TS checks wouldn't function as necessary)
* fix(filters): store and update
* fix(filters): bad fmt var
* fix(filters): store expect status
* fix(filters): store expect status
* fix(filters): external filter always rejected
* feat(notification): send Telegram messages to a specific topic of a group
* Convert settings.Topic to integer once and reuse it as part of the
telegramSender struct.
* feat(notifications): add migrations for topic
* fix(notifications): find null string
* fix(notifications): form initial values
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* feat(notifications): add pushover
* add db migration
* fix lint error
* some small corrections
* fixed README
* added missing columns to postgres_migrate.go
* use token for user_key
* refactor(notifications): change priority to int
* fix: only test selected events
---------
Co-authored-by: soup <soup@r4tio.dev>
Co-authored-by: ze0s <ze0s@riseup.net>
* refactor(indexers): test api clients
* feat(indexers): test api connection
* fix(indexers): api client tests
* refactor: indexer api clients
* feat: add Toasts for indexer api tests
* fix: failing red tests
* feat(filters): add fields for tag and except tag matching logic
* refactor(filters): rearrange and simplify logic for containsAllMatch
---------
Co-authored-by: Gustavo Machado <me@gstv.dev>
* feat(releases): support magnet links
* feat(feeds): support magnet links
* feat(actions): log messages
* fix: component warning
* fix: check hasprefix instead of hassuffix for magnet
* feat(release): resolve magnet uri from link
* fix(actions): deluge use magnet uri
* fix(macros): add `MagnetURI` var
* fix(actions): run magnet resolving before macros
* feat(feeds): set download type on creation
* feat(logs): show and download log files
* feat(logs): make logs settings dropdown
* feat(logs): minor cosmetic changes
* fix(logs): send empty response when lohpath not configured
* fix(logs): remove unused imports
* feat(logs): check if logs dir exists
* feat(logs): list log files in settings
* Add support for the 'Test' button to work
* Make Porla show up in filter actions select
* Add an empty Porla action
* Make Porla action find download client
* Make implementation actually add torrent to Porla
* Fix qBittorrent import
* Finish up Porla action
* Check length on commitish before slicing
* Move Porla to the other DL clients
* Add Porla to type name map
* Move Porla to beneath the other download clients