Commit graph

89 commits

Author SHA1 Message Date
MouldWarpMole
77948d7654
feat(notifications): Add Gotify (#1180)
feat(notifications): Add Gotify (resolves #513)
2023-10-14 12:08:12 +02:00
stacksmash76
3e3454724b
fix(web): tooltips (#1154)
* fix broken tooltips, replace react-tooltip with react-popper-tooltip

* make tooltips use ExternalLink component

* fix import

* get rid of unused import

* fix(tooltip): set delayHide

* removed unecessary comment

* fix tooltip on mobile

* stop tooltip label propagation (mainly for mobile devices)

* added onClick convenience prop for label component wrapper (since onClick isn't propagated down)

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-10-01 15:16:05 +02:00
martylukyy
041ca5ba34
fix(web): Add and update Indexer tooltips (#1111)
fix tooltips in IndexerForms.tsx
linting
2023-09-11 13:33:38 +02:00
stacksmash76
438902137b
enhancement(web): modernize APIClient and improve robustness (#1093)
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)
2023-09-10 16:18:39 +02:00
stacksmash76
2fed48e0dd
enhancement(web): add react suspense and improve DX (#1089)
* add react suspense, fix broken stuff, clean up code, improve DX

enhancement: added react suspense + spinner to show loading (still can be added in certain places)
chore: cleaned up Header/NavBar code
chore: cleaned up DeleteModal code
chore: cleaned up other relevant code
enhancement: changed remove button style to be much more pleasant (see e.g. filter tabs)
fix: made active tab on filters page to be blue (as it should've been) when active
fix: fixed ghost delimiter which was only visible when DeleteModal was active in FormButtonGroup
chore: removed most of linter warnings/errors
fix: fixed incorrect/double modal transition in FilterExternalItem
fix: fixed incorrect z-height on Options popover in Settings/IRC (would've been visible when Add new was clicked)
enhancement: improved robustness of all Context classes to support seamless new-feature expansion (#866)
enhancement: improved expand logic (see #994 comments)

* reverted irc expand view to previous design

* forgot to propagate previous z-height fix

* jinxed it

* add license header to new files

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
2023-09-10 12:35:43 +02:00
ze0s
0d3e10f094
feat(downloadclient): set downloadClientId for arr clients (#1081)
feat(downloadclient): arrs set downloadClientId
2023-09-03 15:34:55 +02:00
Kyle Sanderson
6d78e1e0a4
fix(vite): update code for updated dependencies (#1043)
* how do I shoot web??

* black rabbit feedback + update deps
2023-08-13 17:47:31 +02:00
Fabricio Silva
c7ec93722b
chore(web): relocations and cleanups (#957)
* delete manifest (vite-plugin-pwa generates it)

* fix upper case letter on screen components

* fix imports of screens components missing upper case

* remove default export from Base.tsx

* move RegexPlayground to settings import

* replace some relative path imports

* remove React and ununsed imports

* small alignments on vite.config.ts

* move Dashboard and Releases to screens

* move filters/index.tsx to filters/index.ts

* remove default export from APIKeyAddForm

* remove default export from FilterAddForm

* organize imports and exports for the router

* add .vscode workspace to gitignore

* some touchs on .gitignore file

* fix some eslint rules
2023-07-21 17:33:51 +02:00
Kyle Sanderson
90b5cc9351
feat(transmissionbt): implement reannounce and max active rules (#708)
* feat(transmissionbt): feature parity with qBit

* Update transmission.go

* feat(actions): transmission re-announce

* build(goreleaser): update archive name replacement

* feat(actions): transmission max active downloads check

* build(goreleaser): update archive name replacement

* build(goreleaser): remove archive files none

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-07-01 22:51:57 +02:00
ze0s
2677c16ff8
feat(irc): add bouncer/znc support (#951)
* feat(irc): add initial bouncer support

* feat(irc): add bouncer fields to irc update form

* fix: make fields optional

* feat(db): add migrations
2023-06-14 21:06:28 +02:00
Yuchen Ying
fdc957c571
feat(notification): Telegram add support for topics in groups (#894)
* 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>
2023-05-07 17:30:07 +02:00
ze0s
96e38e649a
feat(downloadclients): rtorrent improve basic auth handling (#914)
* feat: wrap rtorrent client with custom transport

* refactor: move to autobrr/go-rtorrent

* feat: wrap rtorrent client with custom transport

* refactor: move to autobrr/go-rtorrent

* feat(web): update forms
2023-05-06 18:16:34 +02:00
ze0s
604c7896bd
chore: add LICENSE GPLv2-or-later (#897)
* chore: add LICENSE

* chore: add LICENSE to README
2023-05-01 16:21:59 +02:00
Kyle Sanderson
61439567d8
chore(web): Sabnzbd -> SABnzbd (#895)
* Update DownloadClientForms.tsx

* Update constants.ts
2023-05-01 14:17:26 +02:00
Nelson Pecora
da5492febb
feat(notifications): add Pushover (#598)
* 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>
2023-04-29 17:07:15 +02:00
ze0s
6e5385a490
refactor(web): replace pkg react-query with tanstack/react-query (#868)
* refactor: move to tanstack/react-query and fix cache

* refactor(releases): move to tanstack/react-query

* refactor(logs): move to tanstack/react-query

* refactor(base): move to tanstack/react-query

* refactor(base): move to tanstack/react-query

* refactor(dashboard): move to tanstack/react-query

* refactor(auth): move to tanstack/react-query

* refactor(filters): move to tanstack/react-query

* refactor(settings): move to tanstack/react-query

* chore(pkg): add tanstack/react-query

* refactor(filters): move to tanstack/react-query

* refactor: move to tanstack/react-query

* refactor: invalidate queries

* chore(pkg): remove old react-query

* chore: change imports to root prefixes

* build: remove needs web from test

* set enableReinitialize to true to fix formik caching issues

* fix all property for apiKeys const

* fix toast when enabling/disabling feed

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-04-27 21:26:27 +02:00
ze0s
286f2f53f7
fix(indexers): test API button (#844)
fix(indexers): api test button
2023-04-16 18:50:23 +02:00
ze0s
f3cfeed8cd
feat(indexers): test API from settings (#829)
* 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
2023-04-15 23:34:27 +02:00
ze0s
5e7acb1996
fix(settings): indexer forms disable autocomplete in TexField (#828)
fix(settings): indexer forms disable autocomplete textfields
2023-04-10 16:55:29 +02:00
metonym
fd5bc18a54
feat(filters): navigate to edit page on filter creation (#776)
fix: navigate to edit page on filter creation
2023-03-22 22:02:58 +01:00
soup
92f2b0ebe3
enhancement(web): emphasize the need for HTTP in SABnzbd host URL (#748)
* emphasize the need for http

* added reverse proxy example
2023-03-11 21:17:08 +01:00
martylukyy
67ff1058e9
feat(downloadclients): make fields required (#715)
* initial commit for DownloadClientForms field validation

* changed behaviour of required fields

* removed validate from download clients

* removed unused const

* removed unused vars

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-03-05 16:13:19 +01:00
Kyle Sanderson
13a74f7cc8
feat: add usenet support (#543)
* feat(autobrr): implement usenet support

* feat(sonarr): implement usenet support

* feat(radarr): implement usenet support

* feat(announce): implement usenet support

* announce: cast a line

* feat(release): prevent unknown protocol transfer

* release: lines for days.

* feat: add newznab and sabnzbd support

* feat: add category to sabnzbd

* feat(newznab): map categories

* feat(newznab): map categories

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-03-04 20:27:18 +01:00
ze0s
ca196f0bf1
feat(releases): support magnet links (#730)
* 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
2023-02-28 22:16:10 +01:00
ze0s
d100703784
feat(download-clients): porla implement rules (#711)
* feat(downloadclients): Porla implement rules

* feat(downloadclients): Porla add basic auth support

* feat(porla): use new token for auth

* feat(porla): update check can download rules
2023-02-24 19:17:02 +01:00
soup
3fdd7cf5e4
feat(web): Add helper tooltips for inputs and link them to docs (#663)
* Fixed button border in settings/download-clients

Button border for "Add new" is now uniform with other "Add new"-buttons

* enhancement(docs) add helper tooltips

-  Add helper tooltips for inputs and link them to docs #161

* fix build error

* tooltips: changed positition

* hide tooltip below 640 width

* made tooltips better

now attaching to TextField names

* Added icon variation for MultiSelect and CheckboxField

* cleaned up old code

* refactor

Co-authored-by: ze0s <zze0s@users.noreply.github.com>

* added tooltips for DownloadClientForms

* added tooltips for indexerforms

* div for passwordfieldwide

* tooltips for details.tsx

* added tooltips to actions.tsx

* added tooltips to indexerforms.tsx

* replaced info icon with a more rudimentary one

* linting, removed duplicate tailwind display properties

* remove margin for flex centering

* fixed tooltip alignment on all fields

* add tooltip to PwFieldWide in indexer edit window

* refactor: simplify tooltips

* refactor: scope tooltip css

* refactor: tooltip default clickable

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-02-03 17:03:49 +01:00
Viktor Elofsson
870e109f6c
feat(download-client): add support for Porla (#553)
* 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
2023-01-29 18:17:01 +01:00
ze0s
a6c1944df8
feat(downloadclients): qBit rules add speed threshold condition (#652)
* fix: qbit add rules min check

* feat(downloadclients): add check condition

* feat(downloadclient): return on rejection
2023-01-17 23:34:03 +01:00
ze0s
9e8672fdfe
feat(irc): add with network password (#639)
* feat(irc): initial add with network password

* feat(irc): check irc auth obj exists
2023-01-09 20:49:44 +01:00
ze0s
d437f8455e
feat(downloadclients): qBit add rule UploadSpeedThreshold (#633)
feat(downloadclients): qbit add rule upload speed threshold
2023-01-08 18:34:06 +01:00
xoaaC
f6e68fae2b
enhancement(web): red disabled switch button (#552)
* added red background to "Enabled" switch button when disabled for IRC update form

created const SwitchGroupWideRed in web/src/components/inputs/input_wide.tsx
added const SwitchGroupWideRed in web/src/components/inputs/index.ts
changed SwitchGroupWide to SwitchGroupWideRed in IrcNetworkUpdateForm in web/src/forms/settings/IrcForms.tsx

* added red background to SwitchGroupWideRed for default/white mode too

* made white and dark mode red one shade lighter (red-600 -> red-500)
2022-12-10 19:25:48 +01:00
ze0s
25a165b764
feat(indexers): add support for optional baseurl override (#551)
* feat(indexers): optional baseurl override

* feat(indexers): update baseUrl parsing

* refactor(indexers): BREAKING move parse to IRC struct

* Move Parse as part of IRC struct from Indexer
* Updated definitions
* Build torrentUrl in stages
* Use new url.JoinPath to build torrentUrl
* Update tests

* refactor(indexers): select option obj

* refactor(indexers): make backwards compatible
2022-12-03 15:40:45 +01:00
Kyle Sanderson
a93b54bbbc
fix(feeds): indexer identifier issues (#538)
* fix(torznab/rss): keep original name

* fix(feeds): get identifier via indexer join

* fix(feeds/web): remove identifier slugify
2022-11-17 18:50:40 +01:00
stacksmash76
b6ba23d0ee
fix(web): download client table overflow, filter alerts, dubious wording (#521)
* fix table overflow in settings -> download client

* fixed uneven line height in CellLine component

* filters/details: rename "Cancel" to "Reset form values"
Added log level and log path to Application settings.
Added column truncation to Download Client settings.

* feat: change settings debug toggle wording

* fix: typo in irc add form
2022-11-10 12:27:09 +01:00
ze0s
4bf023d030
feat(irc): support optional SASL and NickServ auth (#511)
* feat(irc): support SASL and NickServ auth

* feat(irc): add missing fields

* feat(irc): support SASL and NickServ auth

* feat(irc): add missing fields

* feat(irc): add validation

* feat(indexers): unify and set required values

* feat(irc): add postgres migrations

* feat(irc): use nick as handlerkey

* feat(irc): use account for nickserv

* fix(irc): pg db migration
2022-10-27 22:25:58 +02:00
ze0s
e2bb14afa4
feat(feeds): improve RSS (#502)
* feat(feeds): improve rss

* save last_run time
* remove interval check
* refactor feed job keys
* add rss test
* add max_age check

* feat(feeds): rss basic freeleech parsing

* feat(feeds): rss cookie support

* feat(feeds): db get max_age

* feat(feeds): update log messages

* feat(feeds): pass cookie to release for download

* feat(feeds): improve size parsing

* feat(feeds): improve datetime check
2022-10-18 18:51:10 +02:00
stacksmash76
ac988f28f4
feat(web): better tooltips and uniformity (#474)
* - fix: changed all {text,bg}-{teal,indigo}-* color properties to {text,bg}-{blue}-* so there is only one dominant primary color in the UI -- blue
- enhancement: added `cursor: pointer` to the PageButton component (used in pagination)
- enhancement: modified TitleCell to use the new Tooltip component and modified the width selectors to a more sane default value, now instead of scrolling one just has to tap the cell to see it's untruncated value
- enhancement: modified the Tooltip component to use react-popper-tooltip (which in turn uses popper.js) which is a much better alternative, since it uses auto-positioning in case there's not enough space and some things aren't as broken as in the previous version (e.g. there was a problem with forcing the previous tooltip to use a specific width)
- enhancement: added a useMedia hook selector from the react-use repository, which might come in handy in the future for better/easier decoupling of Desktop and Mobile UI/UX patterns via JS (versus CSS-only)
- enhancement: made the mobile navbar more visible and clear. also fixed previous path === "/" bug which was fixed on desktop.
- fix: fixed table headers/footers so they're rounded
- enhancement: made pagination components more compact (buttons and show N result selector)

* changed {ring, border}-indigo-* to ring-blue-*

* build: add yarn.lock

* fix: formatting warnings

* fix: formatting warnings

* fix: more formatting warnings

* fix: more formatting
2022-10-14 21:54:21 +02:00
voltron4lyfe
71d0424b61
feat(clients): add Readarr support (#490)
* Add initial Readarr support

* Readarr working with MaM

* feat(clients): readarr add tests
2022-10-14 19:56:42 +02:00
paperclip-go-brr
72be86a34f
feat(feed): Configurable request timeout (#456)
* feat(feed): Add field for setting request timeout

* fix: missing type in interface

* feat: add postgres migration and column to base schema
2022-10-04 17:33:35 +02:00
stacksmash76
553320bf1d
fix(web): TS typings and always active navbar link (#470)
* fix TS typings since `yarn build` was failing on my machine.
* fixed the dashboard navlink (it was always active on my end)
2022-09-23 19:03:00 +02:00
ze0s
300418b9f1
feat(irc): improve list view (#466)
* feat(irc): add irc status examples

* feat(irc): add dropdown menu to list

* feat(irc): update heroicons and add expand button

* feat(irc): update heroicons and add expand button
2022-09-22 16:39:05 +02:00
ze0s
63d4c21e54
feat(notifications): add Notifiarr support (#464) 2022-09-19 15:44:31 +02:00
lancehilliard
ec07c57612
fix(web): typos (#428) 2022-08-25 12:51:09 +02:00
ze0s
54d7151894
feat(clients): add rTorrent support (#421) 2022-08-21 21:42:07 +02:00
ze0s
b50688159e
feat(feeds): add generic RSS support (#410)
* feat(feeds): add generic rss support

* feat(feeds/web): add generic rss support

* implement rss downloading

* gosum + mod

* re-add size from Custom field.

* implement uploader + category

* sync

* remove double assignment (+torznab)

* didn't save the rss file >.>

* cleanup

* fixfeeds): create rss indexer

* fix(feeds): stop feed

* feat(feeds): support nexusphp rss enclosure link

* feat(feeds): check size for custom size

* fix(feeds): race condition and only stop enabled feeds

* fix(feeds): unify indexer implementation badge

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
2022-08-20 00:34:46 +02:00
ze0s
fa20978d58
feat(api): add apikey support (#408)
* feat(api): add apikey support

* feat(web): api settings crud
2022-08-15 11:58:13 +02:00
stacksmash76
3da594ec75
feat(web): mobile UI improvements (#359)
* enhancement: improved alerts component contrast
enhancement: simplified and improved radio switch group look
fix: fixed inconsistent spacing in input components (there's still some work left to be done)
fix: made slideover panel display on full width on mobile devices
enhancement: made forms more accessible to mobile users, adapter changes in accordance with the previous input components fix
fix: fixed misspelling in NotificationForms filename
chore: cleaned up code
fix: made filter table top edges less round and improved look
fix: fixed a bug where when a modal/slideover component was opened, a 1px white bar would be shown in one of the modal parent elements (for the fix see L89 in screens/settings/DwonloadClient.tsx)
enhancement: improved responsiveness for irc network list

* Fixed 2 small comma warnings from ESLint

Co-authored-by: anonymous <anonymous>
2022-07-17 23:34:49 +02:00
Ludvig Lundgren
7eefeb54c1
feat(download-clients): add transmission (#350) 2022-07-10 18:01:58 +02:00
Ludvig Lundgren
ebba72ec1f
feat(feeds): torznab add test button (#347) 2022-07-10 15:54:56 +02:00
stacksmash76
c4efbd6e20
fix(web): unauthorized errors (#320)
- fix(ErrorPage): add padding to the page for mobile devices

- chore(react-query): wrap APIClient calls in anonymous functions to avoid passing react-query context variables by accident

- fix incorrect ordering of ErrorBoundary and QueryClientProvider (ErrorBoundary is now the parent)
2022-06-22 22:26:53 +02:00