Commit graph

787 commits

Author SHA1 Message Date
ze0s
8156c8d66e
chore(deps): upgrade to Go v1.22 and deps (#1423)
* chore(deps): upgrade go to v1.22 and deps

* chore(deps): upgrade workflow go to v1.22
2024-02-22 14:33:50 +01:00
Brandon Beck
3c40c7bba8
feat(macros): add FilterID (#1416) 2024-02-20 16:35:00 +01:00
ze0s
c97becb4e3
fix(irc): force update ANT and NBL irc server addr (#1412) 2024-02-16 14:49:05 +01:00
broken-stones
ac2550d518
fix(indexers): BrokenStones add auth key to download url (#1406)
* fix(indexers): BrokenStones fix auth for "real life" Actions.

* improve matching of torrentName

* fix expectations

* greedy up for torrentName
2024-02-14 08:44:22 +01:00
martylukyy
855e99b1d1
chore(indexers): remove closed indexer TFM (#1407)
chore(indexers): remove closed indexer (TFM)
2024-02-14 08:40:17 +01:00
ze0s
0e2b425a52
feat(indexers): add Nyaa (#1405)
* feat(definitions): add nyaa.yaml

* fix(definitions): comment out source

* feat(indexers): add NickServ options to nyaa.yaml

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2024-02-13 20:12:29 +01:00
Kyle Henfrey
1f31c9b063
feat(irc): disable auto chan part when using bouncer (#1396)
* don't part if using bouncer

* refactor(irc): move bouncer part logic

* refactor(irc): move bouncer part channel logic

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2024-02-13 13:33:03 +01:00
martylukyy
3ed20890c6
fix(indexers): NBL new irc address (#1404)
fix(indexers): new NBL irc address
2024-02-13 11:01:03 +01:00
martylukyy
40eb1ee11c
fix(indexers): ANT new irc address (#1403)
fix(indexers): new ANT irc address
2024-02-13 10:59:42 +01:00
ze0s
51a7f71372
fix(filters): OPS and RED split Artist and Album (#1398)
* fix(filters): OPS and RED parse and match Artist and Album

* fix(filters): rls raw
2024-02-12 14:16:16 +01:00
martylukyy
1a23b69bcf
feat(web): move from react-router to @tanstack/router (#1338)
* fix(auth): invalid cookie handling and wrongful basic auth invalidation

* fix(auth): fix test to reflect new HTTP status code

* fix(auth/web): do not throw on error

* fix(http): replace http codes in middleware to prevent basic auth invalidation
fix typo in comment

* fix test

* fix(web): api client handle 403

* refactor(http): auth_test use testify.assert

* refactor(http): set session opts after valid login

* refactor(http): send more client headers

* fix(http): test

* refactor(web): move router to tanstack/router

* refactor(web): use route loaders and suspense

* refactor(web): useSuspense for settings

* refactor(web): invalidate cookie in middleware

* fix: loclfile

* fix: load filter/id

* fix(web): login, onboard, types, imports

* fix(web): filter load

* fix(web): build errors

* fix(web): ts-expect-error

* fix(tests): filter_test.go

* fix(filters): tests

* refactor: remove duplicate spinner components
refactor: ReleaseTable.tsx loading animation
refactor: remove dedicated `pendingComponent` for `settingsRoute`

* fix: refactor missed SectionLoader to RingResizeSpinner

* fix: substitute divides with borders to account for unloaded elements

* fix(api): action status URL param

* revert: action status URL param
add comment

* fix(routing): notfound handling and split files

* fix(filters): notfound get params

* fix(queries): colon

* fix(queries): comments ts-ignore

* fix(queries): extract queryKeys

* fix(queries): remove err

* fix(routes): move zob schema inline

* fix(auth): middleware and redirect to login

* fix(auth): failing test

* fix(logs): invalidate correct key

* fix(logs): invalidate correct key

* fix(logs): invalidate correct key

* fix: JSX element stealing focus from searchbar

* reimplement empty release table state text

* fix(context): use deep-copy

* fix(releases): empty state and filter input warnings

* fix(releases): empty states

* fix(auth): onboarding

* fix(cache): invalidate queries

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2024-02-12 13:07:00 +01:00
s0up4200
cc9656cd41
feat(irc): add indexer disabled warn log (#1381)
* feat(logs): add indexer enabled check for announce

* logs: update announce.go

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2024-02-11 10:44:07 +01:00
broken-stones
0c65231626
fix(indexers): DigitalCore InfoURL (#1395)
fix(indexers): digitalcore

Append a trailing slash to infourl to avoid site redirecting to home page.
2024-02-11 10:25:50 +01:00
broken-stones
ef7b5abe1a
feat(indexers): add BrokenStones (#1390)
* feat(indexers): add BrokenStones

* fix matching for groupId/torrentId urls

* add version(to title), size and category
2024-02-08 14:42:45 +01:00
Brandon Beck
90272188ca
feat(macros): add Type (#1394) 2024-02-08 14:39:49 +01:00
soup
c211641c29
feat(indexers): add ToonsForMe (#1388) 2024-02-05 06:00:58 +01:00
ze0s
5328078b32
fix(filters): RED and OPS lossless parsing and filtering (#1373)
* 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
2024-01-28 22:03:25 +01:00
martylukyy
f979b9adc8
feat(indexers): add TorrentSeeds Music (#1363)
feat(indexers): torrentseeds-music.yaml
2024-01-27 21:55:34 +01:00
Kyle Sanderson
cdd91d27e5
feat(feeds): improve RSS size parsing (#1367)
* fix(feeds): Parse multiple sizes.

* refactor: Test_pullSizeFromDescription

* refactor: make test human readable

added helper function

* multi

* Agnewwwwww

* .

* humanize

* humanize

---------

Co-authored-by: soup <soup@r4tio.dev>
2024-01-27 12:52:11 -08:00
Vince Villamora
16bf2a52fd
feat(macros): add Group (#1378) 2024-01-26 16:26:18 +01:00
ze0s
fffd5bbf56
feat(indexers): GGn improve release name parsing (#1366)
* feat(indexers): GGn improve IRC parsing

* chore: organize imports
2024-01-24 17:58:46 +01:00
ze0s
ae4427175f
fix(notifications): Pushover and Telegram formatting (#1362)
* fix(notifications): Pushover and Telegram formatting

* fix(notifications): html builder

* fix(notifications): escape html

* fix(notifications): escaping
2024-01-23 13:03:20 +01:00
ze0s
f488c88f1b
fix(auth): force invalidate invalid session cookies in middleware (#1358)
* fix(auth): invalidate session cookies in middleware

* fix(auth): set path for invalid cookie
2024-01-20 20:10:26 +01:00
luckyboy
a86258aaa7
feat(filters): implement min and max seeders/leechers filtering for Torznab feeds (#1342)
* feat(filter):implement min and max seeders/leechers filtering

* chore: go fmt and reorder fields

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2024-01-12 17:08:18 +01:00
Frederick Robinson
256fbb49ba
docs(filters): explain GetDownloadsByFilterId (#1345)
add comment about GetDownloadsByFilterId
2024-01-10 17:37:18 +01:00
ze0s
9992675971
feat(releases): show details in list view (#1337)
* 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>
2024-01-02 21:53:38 +01:00
ze0s
7eaf499d66
fix(notifications): ntfy and shoutrrr enabled check (#1335) 2024-01-01 18:07:22 +01:00
ze0s
fbabdfb217
feat(clients): override arr download client by name (#1328)
* feat(clients): override arr client by name

* feat(clients): add missing file

* feat(clients): add section download client arr
2024-01-01 17:57:19 +01:00
ze0s
45b522abf8
chore: update license header year (#1332)
* chore: update license header year

* chore: update license header year tsx files

* chore: update license header
2024-01-01 16:21:02 +01:00
Kyle Sanderson
27827247d4
fix(indexers): DocsPedia adjust announcer name (#1330)
fix(indexers): fix adjuster name for docspedia
2024-01-01 16:17:02 +01:00
ze0s
a0a81ed34c
fix(filters): ensure sort by priority (#1325)
* fix(filters): sort filters from filtersMap

* fix(filters): use slices.SortStableFunc and fix tests

* fix(filters): add local cmp pkg before go 1.21
2023-12-31 14:59:12 +01:00
ze0s
57a91bb99a
feat(notifications): add Shoutrrr support (#1326) 2023-12-30 16:34:25 +01:00
ze0s
3dd1629a3f
feat(notifications): add ntfy support (#1323)
* feat(notifications): add ntfy support

* fix(test): update

* fix: added missing semicolon
2023-12-30 13:49:06 +01:00
Kyle Sanderson
3234f0d919
refactor(http): implement shared transport and clients (#1288)
* 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>
2023-12-29 23:49:22 +01:00
soup
2a4fb7750b
feat(actions): deluge v2 add skip recheck (#1321)
* feat(actions): add skip recheck for deluge v2

* chore(deps): update go-deluge to v1.2.0
2023-12-28 16:59:17 +01:00
soup
ebbd851a2e
feat(autobrrctl): add db migrate/seed/reset functionality (#934)
* 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>
2023-12-28 14:05:51 +01:00
Kyle Sanderson
6a94ecacca
refactor(http): auth handlers (#1311)
* fix(auth): implement invalid cookie handling

* that escalated quickly

* refactor(http): auth handlers

* add tests for auth handler
* refactor methods

* chore(tests): add header and build tag

* add build tag integration

* chore(tests): run in ci

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-12-28 02:04:25 +01:00
KaiserBh
df2612602b
feat(auth): change password and username (#1295)
* 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>
2023-12-26 15:50:57 +01:00
Frederick Robinson
d898b3cd8d
refactor(filters): checkMaxDownloads (#1285)
* refactor

* fix: comment

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-12-25 22:54:52 +01:00
soup
c6122dbc41
feat(actions): qBittorrent add priority handling (#1315)
* 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>
2023-12-25 22:39:31 +01:00
Rohit Vardam
1563ce5e9f
fix(filters): do not split commas inside valid Regexp (#1212)
* fix(filter): matchRegex

* fix(filter): matchRegex use new splitter
2023-12-25 15:45:50 +01:00
KaiserBh
e63aec1ab2
enhancement(feeds): change max age default value to 0 (#1313)
* refactor: update help text for RSS, TORZNAB, and NEWZNAB

* refactor: change default to 0.

* fix: update sqlite_migrate.go

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-12-25 15:11:26 +01:00
soup
3b60365483
feat(web): link Dashboard stats to Releases page (#1281)
* 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>
2023-12-25 14:03:29 +01:00
Kuredant
937d62fb82
refactor(indexers): ANT improve freeleech support (#1302)
feat(indexers): add freeleech support for ANT
2023-12-25 13:48:58 +01:00
Kyle Sanderson
0b34efc753
fix(http): specify ip stack when listen fails (#1306)
* fix(http): specify ip stack when listen fails

* break your err

* fix(http): log msg

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-12-25 13:29:20 +01:00
soup
80c2530116
fix(actions): qBit handle Ignore slow torrents rule correctly when disabled (#1309)
* fix(qbittorrent): handle 'Ignore slow torrents' rule correctly when disabled

* move IgnoreSlowTorrents bool check
2023-12-17 22:46:44 +01:00
soup
6e12654f6a
feat(filters): show enabled and disabled actions in list view (#1304)
* feat(filters): reflect enabled actions

* dont store release unless enabled action found

* store the release after the delay

* add new parameter to FindByFilterID method
2023-12-17 21:18:26 +01:00
soup
a89a1a55d9
feat(notifications): add LunaSea support (#1284)
* 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
2023-12-15 23:13:44 +01:00
Kyle Sanderson
3580472cbd
refactor(filters): optimize assignment to allocation (#1293)
nit(filters): move explicit assignment to allocation
2023-12-14 21:41:05 +01:00
soup
fc0bf33412
fix(config): PostgresExtraParams struct tag (#1294)
fix: PostgresExtraParams to lowercase in Config
2023-12-12 20:35:12 +01:00