Commit graph

231 commits

Author SHA1 Message Date
Fabricio Silva
a5e05284d0
chore(web): add ignore pattern to eslint for the unused-vars rule (#965)
* allow eslint ununsed vars and params if starts with _

* comment rests of unused code on Irc.tsx

* fix some eslint warn about unused code
2023-07-02 14:19:03 +02:00
Fabricio Silva
32ffc875b0
feat(web): use svg logo instead of png (#970)
* add fonts files to workbox

* remove logo.png and touches manifest assets

* install vite-plugin-svgr to import svg as react components

* move logo.svg from public to src

* replace logo.png to logo.svg

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-07-02 14:17:10 +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
Fabricio Silva
8721ab65ce
fix(irc): urlencode SSEKey for SSE streams (#990)
apply RFC4648 to base64 sseKey to fix urlEncoding
2023-06-17 14:44:20 +02:00
ze0s
ecc84f5f2d
fix(irc): view channel history (#987)
fix(irc): irc monitor channels

* base64 sse stream key
2023-06-15 23:17:26 +02:00
Viktor Elofsson
3d9839d234
feat(downloadclients): Porla support preset (#978)
* Correctly omit download/upload limits

* Prefix JWT correctly

* Allow setting Porla preset
2023-06-14 19:51:34 +02:00
Kyle Sanderson
6c27c6e3ba
chore(logs): remove warning text saying no scrollback (#953)
* chore(logs): remove warning text saying no scrollback

* Update Logs.tsx

* tab tab tab goes the trolley
2023-05-24 13:01:44 +02:00
soup
f774831d76
feat(releases): delete older than x (#924)
* feat: delete releases older than x

* check timestamp

* incomplete front end changes

commiting changes from codespace to not lose them

* change to dropdown with options

* using int comparisons to avoid nightmares

* Revert "using int comparisons to avoid nightmares"

This reverts commit dc55966a73e9f6ad79ed28c3a3e0dbe0e35448a6.

* suggestions by stacksmash76

come back to discord @stacksmash76

* Curves - a touch of warmth in our pixel realm

* replace inline css with tailwind

* remove unnecessary comment

* align label with dropdown
changed first paragraph to something more sensible

* change font weight for duration label

* padding changes

* nitpicky

* merged divs where possible

* small adjustments for light theme

* attempt to fix for postgres

* refactor: split into component and add confirmation modal

also restyle component

* fix: go fmt

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-05-21 18:39:28 +02:00
ze0s
ccabe96bdf
feat(irc): view announces per channel (#948)
* feat(irc): add sse to handler

* feat(irc): view and send irc messages per network

* refactor(irc): use id as handlerkey

* refactor(irc): use id as handlerkey

* feat(web): add irc context

* refactor: create sse stream per network channel

* fix(irc): remove non-working wildcard callback handler

* feat: use fork of sse

* chore(deps): update ergo/irc-go to v0.3.0

* fix: clean irc msg before sse publish

* feat: add view channel button

* feat: styling improvements

* feat: show time
2023-05-21 15:51:40 +02:00
ze0s
6898ad8315
feat(releases): replay actions (#932)
* feat(releases): replay actions

* feat(releases): replay actions component

* fix: update filter actions

* fix: select filter_id from ras
2023-05-15 21:30:04 +02:00
ze0s
e5b4ded725
feat(filters): add support for feed description (#922)
* feat(filters): match description

* feat(filters): support description

* chore: remove match logic for description

* fix: update rss tests
2023-05-13 19:33:18 +02:00
soup
8347d6ded1
feat(logs): improve log search with regex (#920)
* improve log search with regex

* show empty log if regex invalid

* show red icon if regex is invalid
2023-05-08 22:56:11 +02:00
martylukyy
e5692fefc7
feat(filters): automatically resizing textareas (#523)
* Change textfield shows, match_releases and except_releases to textareas customized layout.

* fix indentation and removed blank lines

* add react-textarea-autosize
created const TextAreaAutoResize
change fieldtype of shows, match_releases and except_releases to TextAreaAutoResize

* see previous commit

* fix layout for match_releases and reject_releases textarea
revert 'Use regex' switch to old design

* revert layout changes back to 1.9.0

* fix code formatting

* fix: prevent scrollbar with overflow-hidden

* merge and implement tooltips

* chore: update yarn.lock

* feat: create TextAreaRegex component

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com >
Co-authored-by: ze0s <ze0s@riseup.net>
2023-05-07 16:28:31 +02:00
martylukyy
b0b98b8d9c
enhancement(web): disable freeleech percent when freeleech is toggled (#875)
lock freeleech percent field when freeleech switch is enabled
2023-05-07 15:30:16 +02:00
soup
8acf33589d
enhancement(web): mutation improvements and toast updates (#913)
* make notification switch take onToggleMutation

Instead of opening it like the edit button, it now enables/disables it directly.

* improved toast for update checks

* improved toast for download clients

it now mentions what client is enabled/disabled

* improved irc network toast

* added toast when copying apikey

* added toast to log download

implemented an info variant for the toasts

* improved feed toast

* improved toast for update checks

* Merge branch 'develop' into enhancement/mutation-improvements-toast-updates
2023-05-06 18:19:43 +02:00
soup
605ceaf5f4
feat(release): add torrent download link to release table (#911)
* add torrent download link to release table

* remove draft from api

* remove leftover whitespace
2023-05-06 16:16:20 +02:00
soup
7817e85621
fix(filters): correct toasts for enabling and disabling filters (#912)
correct toasts for enabling and disabling filters
2023-05-06 16:12:59 +02:00
soup
537bbe3394
enhancement(filters): exclude tags_match_logic on export if default value (#908)
ignore tags_match_logic on export if default value
2023-05-06 16:08:12 +02:00
ze0s
d480532c16
fix(filters): list show status all (#904)
fix(filters): lists show status all
2023-05-03 00:10:43 +02:00
Fabricio Silva
bc96979907
fix(web): typo on ActionType enum (#899) 2023-05-02 18:42:12 +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
ze0s
124031f510
feat(filters): add form validation (#890)
* feat(filters): add form validation

* feat(filters): show toast on validation error

* chore: update package.json
2023-05-01 14:44:17 +02:00
Kyle Sanderson
32af2d756b
chore(web): add clarifying information for feeds. (#889)
* Update Feed.tsx

* Update Indexer.tsx

* oh right.

* 🅱️
2023-04-30 21:17:07 +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
martylukyy
d03561d61c
enhancement(web): log download spinner icon (#847)
replace loading dots with spinner and move text to title for it display at mouseover
2023-04-17 20:54:30 +02:00
KaiserBh
0087147660
fix(web): unrecoverable unauthorized error (#843)
fix:unauthorized error.

added check for failed login as well remove user when visiting login.

Co-authored-by: KaiserBh <kaiserbh@proton.me>
2023-04-16 18:54:27 +02:00
ze0s
286f2f53f7
fix(indexers): test API button (#844)
fix(indexers): api test button
2023-04-16 18:50:23 +02:00
KaiserBh
fe71dfc3af
fix(web): reset global state after logout (#842)
* fix: global state bug fix.

* refactor: fix text being center.

* adapt mobile logout button for new logout function

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-04-16 18:39:45 +02:00
martylukyy
be999d88b5
fix(web): make log files section responsive (#836)
* adapted Logs page in settings to be responsive
minor layout changes

* show headers on narrow screens

* adapted padding on Logs page

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-04-14 21:20:03 +02:00
soup
02eb0edbfa
fix(web): explanation of freeleech options (#833)
fix/web: explanation of freeleech usage
2023-04-13 18:07:39 +02:00
Gustavo Machado
ef75b67b25
feat(filters): add match logic for tags and except tags (#810)
* 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>
2023-04-10 16:11:44 +02:00
soup
de6638065a
fix(filters): add fallback for clipboard api on http (#804)
add a fallback for clipboard api

The Clipboard API requires HTTPS, so we need to add a fallback for HTTP. Using the old execCommand('copy') method.
2023-04-01 13:33:00 +02:00
soup
8a0c6e8180
feat(filters): regex validation for supported fields (#773)
* initial commit

* minor visual improvements

* lock validation to golang flavor

* made a new field called regexfield

reverted old textfield to be up2date with develop

* added Formik Validation

* removed yup as its not needed

* improvements

* refactor: simplify and make more generic

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-03-30 23:41:03 +02:00
soup
59f41be3ef
enhancement(settings): make lists sortable (#800)
* initial commit

* sorting for clients and networks

* sort feeds

* cursor pointer on hover
2023-03-30 22:27:24 +02:00
soup
30cf9c55f0
feat(web): preserve sort order on Filters list (#772)
* preserve filter sortOrder in localStorage

* refactor to use SettingsContext
2023-03-30 22:14:14 +02:00
metonym
5fed0921c5
feat(actions): add "don't start" option for rtorrent (#782) 2023-03-26 23:17:44 +02:00
soup
5851b0abe5
feat(filters): use TextArea for webhook data field (#785)
switch to TextArea for webhook data input field
2023-03-26 23:12:22 +02:00
soup
e3b6bc738f
fix(filters): drop down menu z-index (#795)
Add z-index to Menu.Items to control stacking order
The animate-ping would show on top of the filter menu on narrow screens
2023-03-26 22:52:17 +02:00
soup
bcd5128c59
fix(filters): close add new dropdown of focus (#777)
* hide dropdown when clicking outside it

* cleaner code

* cleaned up code

removed uneccessary div
changed to focus:ring-inset on buttons

* revert focus-ring-inset change

will handle this for the entire app in a separate branch

* changed to using headlessui

* added transition to the dropdown

* feat: add export JSON to Discord button

The Discord button exports the filter data in JSON format,
but with Discord-specific formatting.

as requested on Discord
2023-03-22 22:00:47 +01:00
soup
4ade1b0ecf
feat(logs): sanitize logfile on download (#767)
* initial commit

* handle tleech urls

* improved and simplified regex

* add sanitization status & loading anim for log dl

* removed unused imports

* improved regex

* fixed regex and added tests

* regex improvements and tests

* added unicode matching to saslRegex

* added missing baseurl

* swapped the css animator for a react component

the css version froze when served through a reverse proxy

* optimized regex compilation

---------

Co-authored-by: soup <soup@r4tio.cat>
2023-03-19 21:57:16 +01:00
soup
b04713234c
fix(actions): clear client field when switching action types in filter (#766)
* fix(actions): reset client_id on action swap

* render fix: missing useEffect on some cases

* removed uneccessary amounts of useEffect
2023-03-19 21:53:51 +01:00
metonym
9fed6b3735
feat(actions): rtorrent add folder rename toggle (#756)
* feat(actions): rtorrent add folder rename toggle

* refactor: use content layout
2023-03-19 21:25:53 +01:00
soup
4449df66aa
feat(filters): import/export functionality (#755)
* initial commit

* import working

* some more changes

* import is working

* added text field for import

* made exported json look pretty

* use filter name as title in export

takes the name of the exported filter and add it as title to the json

wont be used for anything on import

* snake case for title

* visual improvements

* added export function to filter dropdown

* added import to filter list

* include empty values on export

this is needed for the import to work

* styled the add button

* reduced needed values for const defaultFilter

this is the minimum required for successful import

* reduced defaultFilter to bits

* Made export and import require minimum values

added "version": "1.0", to export json

* changed filter name

* made the import textfield dynamic

* incremental numbering for imported filter names

Updated the filter import logic to check for existing filter names and
appending incremental number to the filter name if a conflict is found

* reverted changes in details.tsx

* Improved code comments a bit

* add icon and tooltip to filter.actions_count === 0

* changed the 0-action icon to a red animate-ping

- made the tooltip trigger on both the name and the animate-ping hover
- improved colors a bit

* fixed bg color for textarea

made the focus ring less intrusive
2023-03-19 21:22:07 +01:00
Kyle Sanderson
a1a5d94fdd
fix(filters): remove requirement for numberfields (#758)
* fix(filters): remove requirement for logScore.

* default to zero on numberfield clear

* code comment for parseInt

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-03-19 21:07:03 +01:00
Kyle Sanderson
e6e436936f
chore(web): settings update debug description (#749) 2023-03-11 21:15:35 +01:00
soup
d172e70046
enhancement(web): stats and releases pretty loading (#731)
* enhancement(web): improved loading message

* dark mode fix

* added skeleton for loading

* placeholder

* handle activitytable loading

* name StatsItems in isLoading

* handling ReleaseTable loading

* made releasetable 10 rows while loading

* derp

* style: simplify loading state

---------

Co-authored-by: soup <soup@r4tio.cat>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-03-04 23:45:43 +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
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
209e23de4f
fix(web): revert disable freeleech field when using percent (#719)
fix(web): reverted freeleech lock
2023-02-23 23:10:17 +01:00