* fix: misc http fixes
* feat(io): implement bufio around syscalls
* peek-a-boo
* this can't be right.
* you better be wearing a helmet
* jesus christ.
* refactor(notifications): check err on non-ok status
* fix(notifications): add missing name method
* refactor(indexer): api clients
* fix(indexer): ptp test
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* fix(parsing): OPS Missing %
The message from OPS Announce does not contain a % sign and that seemed to break it. This is probably not the best fix but it is something.
* fix(parsing): Join Tags and Remove Unnecessary Char Replacement
Forgot to join tags before parsing, and removed an unnecessary char replacement that was not needed.
* fix(parsing): Added Regex for 0-100
I forgot to check for all score values, also added the regex import
* feat: add test cases for OPS log score parsing
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* 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>
* feat(filters): add AHDTV to sources and sort alphabetically
feat(filters): add MPEG-2 to codecs and sort alphabetically
* feat(filters): add release parsing test for MPEG-2
* 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>