* fix(filters): RED and OPS lossless parsing and filtering
* fix(filters): logscore and EP parsing
* fix(filters): tests
* fix(filters): tests
* feat(definitions): RED parse title variable
* feat(indexers): setup indexer to filter tests
* feat(indexers): tests and improve parsing
* feat(indexers): improve tests
* 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>
* fix(http): flip to a shared transport and clients
* nice threads
* that is terrible
* fake uri for magnet
* lazy locking
* why bother with r's
* flip magic params to struct
* refactor(http-clients): use separate clients with shared transport
* refactor(http-clients): add missing license header
* refactor(http-clients): defer and fix errors
---------
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>
* 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
* refactor: this should be Debug() just like the rest.
* feat: catch error when updating client table.
Before if we provided the wrong ID it will just say it's successful when it shouldn't.
* chore: handle the errors.
* fix: defer tx.Rollback().
When I try handling the error we always hit the error no matter what even though there wasn't any error, This is due that defer block being executed unconditionally so even after we commit it successfully it will just give error. So add checking then commit it if all good.
* feat: added testing env.
This way we can use in memory sqlite.
* chore: Delete log should be debug as well.
* feat: enable foreign keys for testing for sqlite.
I recommend enabling all together. Not sure why it's commented but for now will keep it the same and only enable for testing.
* chore: catch error, if deleting a record fails.
* chore: catch error, if deleting a record fails.
* chore: catch error, when failed to enable toggle.
* chore: catch error, if updating failed.
* chore(filter): catch error, if deleting failed.
* chore(filter): catch error, if row is not modified for ToggleEnabled.
* chore(feed): Should be debug level to match with others.
* chore(feed): catch error when nothing is updated.
* chore: update docker-compose.yml add test_db for postgres.
* chore(ci): update include postgres db service before running tests.
* feat(database): Added database testing.
* feat(database): Added api integration testing.
* feat(database): Added action integration testing.
* feat(database): Added download_client integration testing.
* feat(database): Added filter integration testing.
* test(database): initial tests model (WIP)
* chore(feed): handle error when nothing is deleted.
* tests(feed): added delete testing.
* chore(feed): handle error when nothing is updated.
* chore(feed): handle error when nothing is updated.
* chore(feed): handle error when nothing is updated.
* feat(database): Added feed integration testing.
* fix(feed_cache): This should be time.Time not time.Duration.
* chore(feed_cache): handle error when deleting fails.
* feat(database): Added feed_cache integration testing.
* chore: add EOL
* feat: added indexer_test.go
* feat: added mock irc data
* fix: the column is not pass anymore it's password.
* chore: added assertion.
* fix: This is password column not pass test is failing because of it.
* feat: added tests cases for irc.
* feat: added test cases for release.
* feat: added test cases for notifications.
* feat: added Delete to the User DB that way it can be used for testing.
* feat: added user database tests.
* refactor: Make setupLogger and setupDatabase private also renamed them.
Changed the visibility of `setupLogger` to private based on feedback. Also renamed the function to `setupLoggerForTest` and `setupDatabaseForTest` to make its purpose more descriptive.
* fix(database): tests postgres ssl mode disable
* refactor(database): setup and teardown
---------
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
* factor out test helpers
* refactor, add tests for animebytes
* revert test refactor
* better name
* change format, migrate some examples
* migrated remaining test cases
* add comment about `Test` vs `Tests`
* refactor
* reorder expectations to match vars
* generate
* turn on strict unmarshalling, remove old `Test` from schema
* start modifying actual definitions
* done with the As
* Bs
* C, D
* E, F
* G, H, I, ... L
* M, N
* O, P
* R
* bonus error. without this, pattern/vars disagreement can panic.
* S
* T, U
* X.. Now we know our ABCs next time won't you sing with meeeee
* fix another test
* another driveby change
* be less strict parsing custom definitions
* fix(definitions): load custom definitions
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* feat(feeds): improve caching
* fix(feeds): put cache if not empty
* fix(feeds): reassign loop var
* fix(feeds): enable busy_timeout again
* fix(feeds): enable busy_timeout again
* fix(releases): search with postgres
* fix: validate release push status from filters
* fix: add missing import
* fix: validate push status if not empty
* chore(indexers): replace array position with id
* fix(indexers): enable and disable without editing
* feat(indexer): add toggle endpoint and refactoring
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* 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
* fix(release): DeleteOlder func for zero duration
resolves a bug in the `DeleteOlder` function where recent 24-hour data wasn't deleted when set to `delete everything`. We now correctly set the olderThanTimestamp to a future date when duration is zero, ensuring complete deletion of all records.
* fix(releases): delete older
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* fix(debug/release/rejection): cap line length at 1KB from unlimited
* flip to a call limit
* dont die on bad metainfo parse
* death is here to stay, for now.