Commit graph

589 commits

Author SHA1 Message Date
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
fbdeedc74c
build(ci): goreleaser optimize uploads (#896)
ci: optimize uploads
2023-05-01 15:13:57 +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
ze0s
83e9232b98
fix(auth): invalid session error (#892)
* chore: ignore dist dir

* fix(auth): speculative invalid session
2023-05-01 14:27:30 +02:00
Kyle Sanderson
61439567d8
chore(web): Sabnzbd -> SABnzbd (#895)
* Update DownloadClientForms.tsx

* Update constants.ts
2023-05-01 14:17:26 +02:00
Yuchen Ying
82a117c12b
fix(notifications): always verify Telegram certificate (#893) 2023-05-01 03:00:33 +02:00
ze0s
64900c4d56
fix(downloadclients): remove from filter actions on delete (#891)
fix(downloadclients): properly delete from filter actions
2023-05-01 01:18:46 +02:00
KaiserBh
91e4f5b435
feat(web): make PWA compatible with Vite (#793)
* 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.

* fix: This fixes #117 Propagation bug.

* 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.

* Moved outside static, keep it in public root folder.

* refactor to support the changes

* Added support for PWA, autoinject which auto updates when there is new "version" instead of prompting user.

* fix colour and added the assets.

* chore: yarn lock and remove logos.

* chore: remove logos, don't think we need em.

* chore:added dist folder.

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-04-30 23:43:13 +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
ze0s
82beb31767
feat(indexers): iAnon parse category and freeleech (#886)
* feat(indexers): iAnon parse category and freeleech

* feat(indexers): iAnon parse category and freeleech
2023-04-30 00:21:44 +02:00
ze0s
ef3445cbed
fix(releases): max downloads per hour (#883)
* fix(releases): max downloads per hour

* refactor: release processing

* compare apples to apples (#884)

* from rocketships back to apples

* Update internal/database/filter.go

* cast me to the

* keep your eye on the case

---------

Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
2023-04-29 21:52:49 +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
Kyle Sanderson
1b8f2fce3c
fix(release): cleanup temporary torrent files (#839)
* fix(release): cleanup temporary files

* the other file

* backout revert
2023-04-27 21:43:20 +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
Kyle Sanderson
0be92bef65
build: only push docker images for autobrr org (#873)
* build: speculative fix for develop push

* 🐝

* 🦀
2023-04-27 11:42:36 +02:00
martylukyy
b0198bc2a3
fix(indexers): OPS new announce format (#862)
* fix ops parsing
extend regex capture group for torrentName var to contain releaseTags var
replace all – in announces with a - for torrentName var

* update ops yaml for new announces

* replace en-dashes with hyphens for OPS
add Sampler to releaseTypeMusic const
sort strings of releaseTypeMusic const alphabetically
shorten import in constants.ts

* replace en-dashes in pattern with . to cover any separator

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-04-26 20:31:21 +02:00
martylukyy
9e2e43477d
fix(indexers): TorrentNetwork settings crash (#879)
fix panic due to misspelling in definition
2023-04-24 12:59:50 +02:00
ze0s
956bccd69f
feat(releases): set freeleech percent 100 with freeleech bool (#872)
* feat(releases): set freeleech to freeleech percent 100

* fix(releases): check if freeleechpercent is gt 0
2023-04-23 20:54:39 +02:00
Kyle Sanderson
7cbcc2e14c
build: do not push container images from forks (#869)
* fix(prs): don't push if not sourced from autobrr org

* when literals are strings, and strings are nothing.

* some say the beginning is like the end.

* Update release.yml?

* Update release.yml

* 🍺
2023-04-23 18:06:52 +02:00
Joakim Olsen
35af06a535
feat(macros): add Category and Categories (#863)
Adding "Category", "Categories" filter variables

Add "Category" and "Categories" to available filter variables, ie available as {{ .Category }}.
2023-04-23 15:53:43 +02:00
KaiserBh
5b75ea39ba
docs: clarify reverse proxy usage (#852)
* docs: fixed.

* Update README.md

Ohh we have it in the docs then it's better to do that yea.

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

* docs: Update README.md

---------

Co-authored-by: soup <soup@r4tio.dev>
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-04-23 15:50:11 +02:00
Kyle Sanderson
d546288c2a
build: make ci 2-3x faster (#859)
* Create scratch.Dockerfile

* "best practices"

* even faster?

* too fast. change outdir

* flip to 1.20.3 + v4 + setup go on docker

* download deps

* debug

* Update ci.Dockerfile

* Update goreleaser.Dockerfile

* enable web caching

* Update release.yml

* Update ci.Dockerfile

* revert goreleaser

* cleanup

* set GOCACHE

* Update ci.Dockerfile

* Delete scratch.Dockerfile
2023-04-23 01:48:25 +02:00
ze0s
7f05dd1efd
fix(onboarding): could not create user (#848)
fix: onboarding not working
2023-04-17 20:56:17 +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
martylukyy
9f86c3ab4b
feat(web): add not found page (#845)
implement not found page when logged in
2023-04-16 20:25:10 +02:00
KaiserBh
0a69250144
fix(web): propagation bug with slide panel focus (#791)
* 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.

* fix: This fixes #117 Propagation bug.

* chore: update yarn lock

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-04-16 20:00:20 +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
e0aaa0bcab
fix(notifications): test handle unsupported type (#841)
* bugfix: nil pointer dereference

if agent variable is nil when the Send method is called, will crash.

* refactor: return early.

* refactor: idiomatic solution.

---------

Co-authored-by: KaiserBh <kaiserbh@proton.me>
2023-04-16 18:44:07 +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
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
fb9dcc23a0
feat(indexers): add iAnon (#838)
* feat(indexers): add iAnon

* fix: regex captures
2023-04-15 17:50:10 +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
ze0s
969a9e7025
fix(indexers): PolishSource downloads (#837)
* test: dump req and res for torrent download

* chore: remove req res dump
2023-04-14 21:15:32 +02:00
paperclip-go-brr
8487475e73
feat(indexers): add Tokyo Toshokan (#818)
* Add toktotoshokan.yaml definition

* Update tokyotoshokan.yaml
2023-04-13 18:09:24 +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
soup
81092cfe16
fix(indexers): OPS parsing (#832)
* fix/OPS parsing

* replaced special character with .
escaped / in case we ever switch regex flavour
altered a test line to account for empty releaseTags

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-04-13 18:05:35 +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
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
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