Commit graph

417 commits

Author SHA1 Message Date
Fabricio Silva
0d7cbdfe50
build(docker): improve cache on web-builder stage (#1034)
* upgrade pnpm

* add postcss-import npm dependency

* fix postcss.config.js lint

* improve cache for Docker web-builder stage
2023-08-28 23:16:38 +02:00
ze0s
3e244fac10
fix(filters): store and update with no external filters (#1049)
* fix(filters): store and update

* fix(filters): bad fmt var

* fix(filters): store expect status

* fix(filters): store expect status

* fix(filters): external filter always rejected
2023-08-17 21:42:43 +02:00
soup
0fa53b0b2e
fix(web): potentially unsafe external links (#1027)
* fix(web): potentially unsafe external links

* for good measure

* add noopener as well
2023-08-15 23:10:45 +02:00
dependabot[bot]
75d0a0d9db
build(deps): bump the npm group in /web with 1 update (#1047)
Bumps the npm group in /web with 1 update: [autoprefixer](https://github.com/postcss/autoprefixer).

- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.14...10.4.15)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 23:09:05 +02:00
ze0s
dde0d0ed61
feat(filters): add support for multiple external filters (#1030)
* feat(filters): add support for multiple ext filters

* refactor(filters): crud and check

* feat(filters): add postgres migrations

* fix(filters): field array types

* fix(filters): formatting

* fix(filters): formatting

* feat(filters): external webhook improve logs
2023-08-15 23:07:39 +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
soup
e6f32596a1
fix(releases): delete older than X (#993)
* fix(release): DeleteOlder func for zero duration

resolves a bug in the `DeleteOlder` function where recent 24-hour data wasn't deleted when set to `delete everything`. We now correctly set the olderThanTimestamp to a future date when duration is zero, ensuring complete deletion of all records.

* fix(releases): delete older

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-07-22 14:49:28 +02:00
Fabricio Silva
6c2f3a4b2b
fix(web): set theme before app loads (#1017)
* chore(web): toggle classList instead of add and remove

* fix(web): set theme before the app loads
2023-07-21 18:00:34 +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
martylukyy
72bb2ddadb
feat(web): fullscreen view for irc announce logs (#994)
* fullscreen view for announce logs

* cleanup functions and classes

* some css touches

---------

Co-authored-by: Fabricio Silva <hi@fabricio.dev>
2023-07-21 17:24:43 +02:00
martylukyy
2358ea143e
fix(web): view button alignment in irc settings (#1011)
fix view button alignment in irc settings
2023-07-15 19:37:04 +02:00
Fabricio Silva
8d20d2cf39
feat(web): improve irc view (#989)
* inherit font-size

* inherit cursor-pointer and bubble click event

* improve react keys using ids instead of array position

* fix scrollbar corner not being transparent

* change irc view height calculation

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-07-02 14:21:01 +02:00
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
c587c07b36
chore(web): update package.json and pkgs (#988)
* upgrade pnpm to 8.6.2

* remove devDependencies from package.json

* upgrade vite to 4.3.9
2023-06-17 14:49:21 +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
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
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
76387d16f6
fix(web/pwa): do not intercept api route (#952)
* fix(PWA): Don't intercept /api route

* remove proxy

* revert proxy

* actual revert

* Delete setupProxy.js
2023-05-24 13:11:08 +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
Fabricio Silva
1f76aa38f4
build(web): use pnpm from corepack (#935)
* feat(web): use pnpm packageManager on package.json

* build(web): add frozen-lockfile to Makefile

* build(docker): use the same node version as Docker image

* build(docker): enable corepack

* build(makefile): use --dir instead of cd for pnpm
2023-05-21 17:05:53 +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
Fabricio Silva
bbfcf303ef
chore(web): add svg logo (#947) 2023-05-19 18:39:47 +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
759b17c9f0
fix(filters): limit textarea height (#921)
* limit textarea height to 10 rows

* remove overflow-hidden from TextAreaAutoResize to make it scrollable
2023-05-08 22:44:03 +02:00
Kyle Sanderson
762a0bb36b
chore(build): change to pnpm from yarn (#919)
* flip to npm

* try pnpm

* nothing good started with p anyway

* I want to go outside.

* Split out deps and build

* 30 seconds on the fetch, reintroduce the p

* lock it in

* flip lock file to pnpm

* nuke yarn.lock

* kirby no longer has yarn

* flip goreleaser to v4, was using node12.

* snapshots don't have tags

* Update README.md

* pin offline dockerfile

* Delete .yarnrc.yml

* Delete web/.yarn directory

* fix: update scripts

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-05-08 20:28:43 +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
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
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
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
ze0s
319bc2f200
fix(web): PWA asset and route handling (#898)
* fix(web): PWA asset and fallback route handling

* fix(web): strip baseurl

* fix(web): add back manifest.json

* fix(web): add back manifest.json

* fix(web): log file

* fix(web): do not trim baseurl

* fix(web): try different start_url

* fix(web): pwa with subfolder
2023-05-02 19:06:53 +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
61439567d8
chore(web): Sabnzbd -> SABnzbd (#895)
* Update DownloadClientForms.tsx

* Update constants.ts
2023-05-01 14:17:26 +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
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
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