Commit graph

550 commits

Author SHA1 Message Date
KaiserBh
d48e94ff33
fix(web): auth bad login flash (#820)
[DEV-820] bugfix: since it's 401 we should reject the promise that way onError actually works. I think this was causing login to succeed  for like a second then goes back to login but with this we reject it early shouldn't pass the login screen.

Co-authored-by: KaiserBh <kaiserbh@proton.me>
2023-04-10 15:47:32 +02:00
soup
2534186b5f
feat(macros): add TorrentID and GroupID (#819)
* add TorrentID to list of supported macros

* added GroupID
2023-04-10 15:04:52 +02:00
soup
e998f4e529
fix(web): RegexField add padding (#812)
added conditional padding to regexfield

added a conditional pr-10 if useRegex=true to make the right side of the field remain visible when the icons are present

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-04-10 14:40:23 +02:00
soup
6e4c6b6356
fix(web): numberfield changing while scrolling (#811)
* fix numberfield changing while scrolling

* added same behaviour to NumberFieldWide
2023-04-10 14:38:27 +02:00
soup
195b2929e0
feat(filters): improve RegexField validation (#803)
* make sure fields are validated on page load

* make red border only show if useRegex enabled

* ensure tooltips have higher z-index in RegexField

removed z-index in customtooltip.tsx as its causing issues with tooltips in other components

* improved regex validation

return false for cases that are unsupported by Go

* improved check for unsupported conditionals
thanks nuxen
2023-04-10 14:36:13 +02:00
martylukyy
169863dded
feat(logs): webhook sanitization (#809)
* feat: sanitize passwords from json payload

* add webhook sanitization

* update comments

Co-authored-by: soup <soup@r4tio.dev>

* sanitize RED apikeys from webhook payloads

* added an optional whitespace token between field name and data

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-04-10 14:32:19 +02:00
martylukyy
69f6acbc4d
fix(web): PasswordField eye icon alignment (#824)
* keep eye icon inside PasswordField during onboarding

* proper solution

* removed redundant relative class
2023-04-10 14:30:29 +02:00
KaiserBh
1cdbbe5bf3
refactor(web): migrate create-react-app to vite (#823)
* fix(build): dockerignore add exclusions

* fix: baseurl and build

* chore: removed react-app-env instead use vite

* chore: updated server and embedding static files.

* commented because conflict I believe, and not needed.

* docs: updated readme

* chore: updated json and added vite

* chore: import fix

* chore: updated yarn.lock and package json

* build: add empty dist to compile backend

* fix: use / as default baseurl

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-04-10 14:28:24 +02:00
ze0s
33897b04a1
Revert #787 (#821)
Revert "refactor(web): migrate create-react-app to vite (#787)"

This reverts commit edae1bbf4b.
2023-04-07 19:08:42 +02:00
KaiserBh
edae1bbf4b
refactor(web): migrate create-react-app to vite (#787)
* removed react-app type instead use vite.

* removed index.html from public since vite uses it from root: read more: https://vitejs.dev/guide/#index-html-and-project-root

* yarn.lock update.

* added vite config file. With commented rollUp option if we want the build to be called build but using default stuff for now.

* updated tsconfig to use vite and include vite.config.ts

* changed package json build commands to use vite.

* for some reason there is an error in vite config when we put project as tsconfig.json.

* build.go updated to use the new dist folder.

* refactored as well updated to use dist and web.AssetHandler again.

* Fixed issue forcing the frontend to be reloaded for all routes to work if logged in fresh without reloading it will always go back to dashboard.

* updated it to use the new function; need to fix the Index for baseUrl I believe, if enabled it works except logs route will crash due to cors.

* refactored and default port to 7474, don't think we need the rollUpOptions.

* added tmp/ to ignore .

* init air.toml, for dev hot reloading both app and backend. https://github.com/cosmtrek/air run it using air but make sure it's in PATH

* updated the start command to build and watch for changes, works great with air.

* revert

* added proxy for vite config. To be used for dev.

* refactor: I think this should fix it, when logs route etc getting accessed usually it throws error but by getting rid of the catch-all it should work as intended, since web.RegisterHandler(r) will catch the unmatched ones.

* fix: baseurl and build

* fix(build): docker ignore !web/dist

* fix(build): dockerignore add exclusions

* docs: update README.md

* build: update postcss config

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-04-07 16:04:10 +02:00
ze0s
2fa75d85d5
docs: update README.md (#814)
Update README with usenet etc.
2023-04-05 21:12:51 +02:00
martylukyy
4cf251e2cf
feat(indexers): add TheDarkCommunity (#808)
* add TheDarkCommunity indexer

* add RSS as supported protocol
2023-04-02 22:36:42 +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
ze0s
64c2da591e
fix(feeds): torznab newznab pubdate parsing (#801)
fix(feeds): torznab newznab pubdate struct tag
2023-03-31 00:01:57 +02:00
ze0s
fb6cbc775a
chore: update FUNDING.yml 2023-03-30 23:44:10 +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
costaht
86725d804e
feat(indexers): add Locadora (#796)
* Adds Locadora

That file adds a new indexer to autobrr

* Update locadora.yml

* rename to locadora.yaml in order for autobrr to recognize the definition

* Adding NickServ authentication

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-03-30 22:07:08 +02:00
soup
37261c9432
refactor(logs): use zerolog instead of log (#797)
fix(logs): use zerolog instead of log
2023-03-30 22:04:44 +02:00
soup
c2fcd91da7
refactor(logs): improve log sanitization performance (#779)
* refactor log sanitization for better performance

* Fix token error, add mutex for safer concurrency

* serve sanitized version directly from memory

* further improvements

made it check for "module":"irc" before running the irc regex checks

* Revert "further improvements"

This reverts commit 260037c3a58e1e760613167d3e15136b313c0612.

* update irc regexes to handle special characters

- added prefixes to the irc patterns
- improved tests

* more improvements for irc regexes

* fixed errors

* another edge case bites the dust

* regex improvements

* lock to 1 worker if cpu cores is 2 or less

* removed unused code

* revert to single thread

Moved regex patterns and replacements into a separate array for easier maintenance and readability.

Optimized the regex patterns that share the same replacement string to avoid redundancy.

Modify SanitizeLogFile to accept io.Writer for direct output

* style

* only check relevant lines

- only check relevant lines
- dont break unless length=0

* revert breaking change

* handle api and auth cases

---------

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
2023-03-26 23:25:23 +02:00
metonym
5fed0921c5
feat(actions): add "don't start" option for rtorrent (#782) 2023-03-26 23:17:44 +02:00
KaiserBh
07b3569cde
enhancement(config): clarify logPath usage (#783)
Added clarity for logPath as people on windows uses backslashes which doesn't work.

Co-authored-by: KaiserBh <kaiserbh@proton.me>
2023-03-26 23:14:07 +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
Kyle Sanderson
b6062ffc60
fix(feeds): check settings before unmarshalling (#789) 2023-03-26 23:10:59 +02:00
martylukyy
fe2950f630
fix(indexers): pbay announce bot name (#790)
* fix pbay announce bot name

* add both announce bot names in case of reversal
2023-03-26 23:09:59 +02:00
Kyle Sanderson
f78a067abd
chore(deps): update rls parsing library (#792)
* fix(music): update release naming library

* update sum

* update moistari/rls to v0.5.9

* chore(deps): go mod tidy

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-03-26 23:08:38 +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
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
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
Kyle Sanderson
0564f0bf7a
fix(actions): watch folder (#780)
* fix(macros): Download torrent for watchfolders

* use in-memory torrent for watchfolder

* Update run.go
2023-03-22 21:57:18 +01:00
ze0s
81d494ec5c
fix(feeds): torznab newznab category parsing (#775) 2023-03-19 23:35:33 +01:00
Kyle Sanderson
0d6e23f278
chore(http): set log level to trace (#765) 2023-03-19 22:01:43 +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
ze0s
f68ce40c30
fix(releases): mismatched timestamp in list (#774)
* bugfix: WebUI - Mismatched Timestamps in Releases Page #770

* oops

---------

Co-authored-by: Brett Petch <brettpetch@icloud.com>
2023-03-19 21:40:48 +01:00
Kyle Sanderson
5836fcee63
fix(feeds): implement max_age for torznab/newznab (#763)
* fix(nab): Implement max_age for torznab/newznab

* continue newznab

* continue torznab
2023-03-19 21:26:18 +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
603828be9d
feat(sqlite): commit WAL on startup (#684)
* fix(sqlite): increase page_size to 65536

* fix(db): implement WAL commit on startup

* revert page_size
2023-03-19 21:21:02 +01:00
Kyle Sanderson
ef61331a22
chore(indexers): properly capitalize Aither network (#768) 2023-03-19 21:08:49 +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
soup
9c5c2f1a81
fix(autobrrctl): use brr-api for version check (#752)
* use brr-api instead of github directly

* fixed comment

* better error handling

* removed bloat from printing

* added timeout and os.Exit upon errors
2023-03-19 21:04:52 +01:00
bakerboy448
830e719169
fix(newznab): Use valid usenet release protocol for Starrs (#762)
also update comments

Fixes #761
2023-03-19 20:58:47 +01:00
Kyle Sanderson
29bedc532d
fix(macros): torrentdata parsing (#757)
* fix(macros): Fix torrentdata parsing in macros.

* fix action test

* more dead code

* hunting demons

* limit success output
2023-03-19 20:53:42 +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
Kyle Sanderson
e6e436936f
chore(web): settings update debug description (#749) 2023-03-11 21:15:35 +01:00
nuxen
371943d144
fix(tags): 24bit Lossless being tagged as Lossless (#743)
* fix(tags): fixed `24bit Lossless` being tagged as `Lossless`

added negation to the Lossless regex to prevent it from matching 24bit Lossless

* fix(tests): modified test to reflect changes in regex
2023-03-07 19:50:38 +01:00
ze0s
cec6809b34
chore: update go deps (#742)
chore: update dependencies
2023-03-05 20:39:36 +01:00
ze0s
59a1bd900e
fix(indexers): add generic newznab definition (#741)
fix(indexers): add Newznab definition
2023-03-05 19:59:55 +01:00