Commit graph

841 commits

Author SHA1 Message Date
KaiserBh
92646dacc8
build(web): bump vite and cjs node api refactor (#1276)
* refactor: use ES module.

To maintain compatibility with vite 6 and since that's where the web are heading too.
Also moved some deps to devDeps, better optimized production builds. Changed some of the script command to match how others run or preview it, I think it was still using CRA.

* chore: update-lock.yaml

* refactor: since we are using ESM now, .cjs .ts required.

Changed the file extensions and refactored the .eslintrc.cjs I think there was a lot of bloat from the previous version and removed most of them and keep it simple for now, we can always expand from here a clean slate.

* refactor: added .node.json and refactored.

* fix(build): APIClient.ts had few error.

ESLint: Unexpected lexical declaration in case block.(no-case-declarations)

and TS2554: Expected  0-1  arguments, but got  2
we passed the cause to the constructor which it only takes 1 argument so removed it instead, since it's already in the string "Offline".

* fix(build): import never used.

* fix(build): add the types for react-dom/client.

* fix(build): use ESNext instead.

* fix(build): hmm why are we missing the types for the import?

Added @types/react-table.

* chore(lint): fix lint warnings

Don't use * for export.

* chore(lint): missing deps.

React Hook useEffect has a missing dependency: 'validateForm'. Either include it or remove the dependency array

* chore(lint): fix import.

* chore(lint): fix import.

* chore(lint): fix react hook.

error  React Hook "useMutation" is called conditionally. React Hooks must be called in the exact same order in every component render  react-hooks/rules-of-hooks

* chore(lint): value never used.

  52:10  error    '_regexPattern' is assigned a value but never used

* chore(lint): add missing dependency to useEffect

* chore(lint): fix imports.

* chore(lint): add deps to array.

* chore(lint): error  Unexpected lexical declaration in case block  no-case-declarations

* chore(lint): remove any and add types.

I am not sure about type CompleteFilterType I know it's being used for JSON so might need to use any?? dunno just test it and see if works.

* chore(lint): react-hooks/exhaustive-deps

* chore(lint): react-hooks/exhaustive-deps

* chore(lint): use type guard instead of any.

* chore(lint): react-hooks/exhaustive-deps

* Revert "chore(lint): remove any and add types."

This reverts commit 7b9168fe7826d63cb00e44df8e15fbde49b59174.

* chore(web): ignore sourcemap warnings

* chore(web): update vite to 5.0.4

* chore: add the new script `pnpm dev` to start the dev env.

* chore: add the curly braces.

more info: https://eslint.org/docs/latest/rules/no-case-declarations

* chore: remove the extra spaces

* chore: remove the extra spaces

* chore: add the curly braces.

* chore: add curly braces

* remove text-shadow property and comment

* revert switch case braces for Actions.tsx

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
2023-12-15 23:36:16 +01:00
soup
a89a1a55d9
feat(notifications): add LunaSea support (#1284)
* feat(notifications): add lunasea

* fix(web): truncate overflow in PasswordFieldWide

* refactor(notifications): centralize msg building

Left the building logic in discord.go and notifiarr.go as is because of their unique structure.

* refactor: moved components and swapped to outline

- Refactored the iconComponentMap to use a single iconStyle variable.

* upped size from 4 to 5

* rename NotificationBuilder function
2023-12-15 23:13:44 +01:00
soup
da365da17c
feat(releases): incognito mode (#1282)
* feat(web): incognito mode

* removed unused variable

* move RandomLinuxIsos into utils/index
2023-12-14 22:20:36 +01:00
Kyle Sanderson
3580472cbd
refactor(filters): optimize assignment to allocation (#1293)
nit(filters): move explicit assignment to allocation
2023-12-14 21:41:05 +01:00
dependabot[bot]
fef1af08c4
build(deps): bump the github group with 1 update (#1299) 2023-12-13 21:53:08 +00:00
soup
fc0bf33412
fix(config): PostgresExtraParams struct tag (#1294)
fix: PostgresExtraParams to lowercase in Config
2023-12-12 20:35:12 +01:00
Shivaram Lingamneni
b2c32a421e
fix(irc): improve IRC handler management (#1269)
* fix some races in IRC handler management

* remove go 1.21 and slices package

* chore: update deps

* fix: use exp/slices pkg and client callbacks

* fix(irc): remove deadlock mutex from authenticate

* restore locking in authenticate()

* fix(irc): data races

* fix(irc): do not allow restart of disabled network

* fix(irc): disable restart btn if net disabled

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-12-12 20:29:43 +01:00
ze0s
17e97201fd
fix(config): log level change causes panic (#1296) 2023-12-02 17:23:08 +01:00
Frederick Robinson
365055fbe1
refactor(filters): move rejections from release to filter (#1272)
* refactor: size check

* refactor(filters): checkfilter rejections from release to filter

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-12-01 18:04:23 +01:00
dependabot[bot]
df5fb37c9c
build(deps): bump the golang group with 6 updates (#1290) 2023-12-01 16:47:52 +00:00
KaiserBh
c0f8ecfa9e
fix(filters): could not delete filter without actions (#1275)
* fix(database): hot fix for deleting filter.

This fixes the no sql row set, no idea why it does that but removing the row check I added fixes it, Not sure if it affects others rowsAffected in the delete function.

* fix: imports

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-11-26 13:24:05 +01:00
soup
4d13d08c87
feat(filters): auto-expand used sections (#1278)
feat(web): auto-expand sections with data
2023-11-26 12:58:46 +01:00
soup
e6b3d6117e
fix(web): improve responsiveness on settings pages (#1270)
* fix(web): truncate feed name and adjust margins

This is to avoid clipping on narrow screens.
Bug: https://i.imgur.com/Aw3FzRK.png

* fix(web): fix boundaries and layout on feed page
fix(web): align switches on download client, feed and notification page

* fix(web): add truncate and margin to feed names

* correct truncate
change margin to padding

* inherit text styles

---------

Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
Co-authored-by: Fabricio Silva <hi@fabricio.dev>
2023-11-22 20:12:18 +01:00
Kuredant
f89a25d645
feat(irc): support optional bot mode (#1246)
* feat(irc): set bot mode when the server supports it

See https://ircv3.net/specs/extensions/bot-mode.

* feat(irc): add a config option per network for bot mode
2023-11-22 19:57:16 +01:00
martylukyy
c6c74c7f3b
fix(web): revert package versions causing errors (#1274) 2023-11-20 21:20:26 +01:00
Frederick Robinson
8d3921fd3b
feat(filters): validate filter size (#1263)
* update comments

* refactor, fail on malformed size constraints

* refactor validation, add failing test

* unify in ReleaseSizeOkay, refactor test

* validate filter limit parseability

* logging improvement

* refactor. more clear, explicit parsing step

* inline, add log

* comment tweak

* pass error with more info

* tweak parsedSizeLimits interface
2023-11-20 18:41:53 +01:00
Fabricio Silva
b7a8f6e6ed
build(deps): bump pnpm to 8.10.5 (#1271) 2023-11-20 18:36:15 +01:00
Fabricio Silva
8a8069408a
fix(indexers): toggle state (#1214)
* fix(indexers): toggle state

* fix(indexers): toggle state

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-11-19 23:11:12 +01:00
martylukyy
cb036ac538
enhancement(web): releases description for narrow screens (#1234)
fix(web): description alignment for narrower screens
2023-11-19 22:21:41 +01:00
ze0s
8b5e08727b
fix(config): load from env vars (#995)
* fix(config): load from env and bind

* fix(config): remove unused imports

* feat: add new postgres config as vars
2023-11-19 22:16:46 +01:00
soup
70a2f2d713
fix(filters): validate external filters (#1250)
* fix(filters): Set webhook method default to POST

* fix: details.tsx

* feat(filters): validate external filters

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-11-19 21:32:09 +01:00
soup
f35d10d7c0
docs: add coc to readme (#1268) 2023-11-19 21:31:16 +01:00
soup
d8c977b5ba
refactor(config): copylocks and staticcheck findings (#1261)
refactor: copylocks and staticcheck findings

Refactor mutex handling, optimize byte slice creation, and clean up code in accordance with go.staticcheck and copylocks guidelines.

- Changed AppConfig's mutex to *sync.Mutex, preventing mutex copying and enhancing thread safety.
- Simplified byte slice initialization in writeConfig for efficiency.
- Removed redundant return in DynamicReload for better code clarity.
2023-11-19 16:03:53 +01:00
Kyle Sanderson
76d749b301
build: build rpm and deb (#963)
* build: build rpm and deb

* Update .goreleaser.yml

* upload the formats.

* duplication...
2023-11-19 15:24:15 +01:00
Frederick Robinson
570af0940b
fix(indexers): AnimeBytes parsing (#1259)
* change test to expect correct output

* fix regex

* improve error message
2023-11-18 23:07:50 +01:00
soup
2bd1a68a94
feat(feeds): add force run (#1243)
* feat(feeds): add force run

* fix: simplify ForceRun

* add confirmation modal

* handle errors by using the test func

* require user input to run

* make sure to reschedule next job after forcerun

* refactor modal centering with grid

* refactor: Simplify startJob and forceRun logic

- Refactor `startJob` to accept a `runImmediately` flag. This flag controls whether the job should be run immediately or scheduled for later. This change simplifies the `ForceRun` function by allowing it to call `startJob` with `runImmediately` set to `true`.

- Remove redundant checks in `ForceRun` related to feed type. These checks are handled in `startJob`.

BREAKING CHANGE: The `startJob` function now requires a second argument, `runImmediately`. This change affects all calls to `startJob`.

* fix(web) Invalidate queries after forceRun

* refactor(feeds): init and test run

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-11-18 21:54:53 +01:00
ze0s
ff70a341ad
fix(codeql): empty node cache error (#1267)
fix(codeql): speculative fix for empty node cache error
2023-11-18 20:09:14 +01:00
KaiserBh
666bdf68cd
feat(database): setup integration tests (#1118)
* refactor: this should be Debug() just like the rest.

* feat: catch error when updating client table.

Before if we provided the wrong ID it will just say it's successful when it shouldn't.

* chore: handle the errors.

* fix: defer tx.Rollback().

When I try handling the error we always hit the error no matter what even though there wasn't any error, This is due that defer block being executed unconditionally so even after we commit it successfully it will just give error. So add checking then commit it if all good.

* feat: added testing env.

This way we can use in memory sqlite.

* chore: Delete log should be debug as well.

* feat: enable foreign keys for testing for sqlite.

I recommend enabling all together. Not sure why it's commented but for now will keep it the same and only enable for testing.

* chore: catch error, if deleting a record fails.

* chore: catch error, if deleting a record fails.

* chore: catch error, when failed to enable toggle.

* chore: catch error, if updating failed.

* chore(filter): catch error, if deleting failed.

* chore(filter): catch error, if row is not modified for ToggleEnabled.

* chore(feed): Should be debug level to match with others.

* chore(feed): catch error when nothing is updated.

* chore: update docker-compose.yml add test_db for postgres.

* chore(ci): update include postgres db service before running tests.

* feat(database): Added database testing.

* feat(database): Added api integration testing.

* feat(database): Added action integration testing.

* feat(database): Added download_client integration testing.

* feat(database): Added filter integration testing.

* test(database): initial tests model (WIP)

* chore(feed): handle error when nothing is deleted.

* tests(feed): added delete testing.

* chore(feed): handle error when nothing is updated.

* chore(feed): handle error when nothing is updated.

* chore(feed): handle error when nothing is updated.

* feat(database): Added feed integration testing.

* fix(feed_cache): This should be time.Time not time.Duration.

* chore(feed_cache): handle error when deleting fails.

* feat(database): Added feed_cache integration testing.

* chore: add EOL

* feat: added indexer_test.go

* feat: added mock irc data

* fix: the column is not pass anymore it's password.

* chore: added assertion.

* fix: This is password column not pass test is failing because of it.

* feat: added tests cases for irc.

* feat: added test cases for release.

* feat: added test cases for notifications.

* feat: added Delete to the User DB that way it can be used for testing.

* feat: added user database tests.

* refactor: Make setupLogger and setupDatabase private also renamed them.

Changed the visibility of `setupLogger` to private based on feedback. Also renamed the function to `setupLoggerForTest` and `setupDatabaseForTest` to make its purpose more descriptive.

* fix(database): tests postgres ssl mode disable

* refactor(database): setup and teardown

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-11-18 20:04:30 +01:00
dependabot[bot]
5d6fc84f4c
build(deps): bump the npm group in /web with 18 updates (#1266)
Bumps the npm group in /web with 18 updates:

| Package | From | To |
| --- | --- | --- |
| [@tailwindcss/forms](https://github.com/tailwindlabs/tailwindcss-forms) | `0.5.6` | `0.5.7` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.8.7` | `20.9.1` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.2.31` | `18.2.37` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `18.2.14` | `18.2.15` |
| [@types/react-portal](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-portal) | `4.0.5` | `4.0.6` |
| [@types/react-table](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-table) | `7.7.17` | `7.7.18` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.8.0` | `6.11.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.8.0` | `6.11.0` |
| [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) | `3.4.0` | `3.5.0` |
| [eslint](https://github.com/eslint/eslint) | `8.52.0` | `8.54.0` |
| [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) | `2.28.1` | `2.29.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.47.0` | `7.48.2` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `6.17.0` | `6.19.0` |
| [react-select](https://github.com/JedWatson/react-select) | `5.7.7` | `5.8.0` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss) | `3.3.3` | `3.3.5` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `4.5.0` | `5.0.0` |
| [vite-plugin-pwa](https://github.com/antfu/vite-plugin-pwa) | `0.16.5` | `0.16.7` |
| [vite-plugin-svgr](https://github.com/pd4d10/vite-plugin-svgr) | `4.1.0` | `4.2.0` |


Updates `@tailwindcss/forms` from 0.5.6 to 0.5.7
- [Release notes](https://github.com/tailwindlabs/tailwindcss-forms/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-forms/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.6...v0.5.7)

Updates `@types/node` from 20.8.7 to 20.9.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/react` from 18.2.31 to 18.2.37
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.2.14 to 18.2.15
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `@types/react-portal` from 4.0.5 to 4.0.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-portal)

Updates `@types/react-table` from 7.7.17 to 7.7.18
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-table)

Updates `@typescript-eslint/eslint-plugin` from 6.8.0 to 6.11.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.11.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 6.8.0 to 6.11.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.11.0/packages/parser)

Updates `@vitejs/plugin-react-swc` from 3.4.0 to 3.5.0
- [Release notes](https://github.com/vitejs/vite-plugin-react-swc/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react-swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react-swc/compare/v3.4.0...v3.5.0)

Updates `eslint` from 8.52.0 to 8.54.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.52.0...v8.54.0)

Updates `eslint-plugin-import` from 2.28.1 to 2.29.0
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.28.1...v2.29.0)

Updates `react-hook-form` from 7.47.0 to 7.48.2
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.47.0...v7.48.2)

Updates `react-router-dom` from 6.17.0 to 6.19.0
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.19.0/packages/react-router-dom)

Updates `react-select` from 5.7.7 to 5.8.0
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.7.7...react-select@5.8.0)

Updates `tailwindcss` from 3.3.3 to 3.3.5
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.3.3...v3.3.5)

Updates `vite` from 4.5.0 to 5.0.0
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@5.0.0/packages/vite)

Updates `vite-plugin-pwa` from 0.16.5 to 0.16.7
- [Release notes](https://github.com/antfu/vite-plugin-pwa/releases)
- [Commits](https://github.com/antfu/vite-plugin-pwa/compare/v0.16.5...v0.16.7)

Updates `vite-plugin-svgr` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/pd4d10/vite-plugin-svgr/releases)
- [Commits](https://github.com/pd4d10/vite-plugin-svgr/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: "@tailwindcss/forms"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@types/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@types/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@types/react-dom"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@types/react-portal"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@types/react-table"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: "@vitejs/plugin-react-swc"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: eslint
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: eslint-plugin-import
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: react-hook-form
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: react-select
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
- dependency-name: tailwindcss
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: vite
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: npm
- dependency-name: vite-plugin-pwa
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm
- dependency-name: vite-plugin-svgr
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-18 16:31:11 +01:00
soup
e9e59b38b9
docs: readme improvements and additions (#1262)
* docs: improve readme

added a ToC, section for contributing etc.

* docs: merged rss and usenet sections

* docs: fixed dead link to installation guide
2023-11-18 16:23:33 +01:00
Devin Buhl
2cef58c8de
chore: Add CODE_OF_CONDUCT (#1098)
* chore: Add CODE_OF_CONDUCT

This would be great inorder to keep people on their best behavior when interacting with each other in this project.

* Update .dockerignore

* Update CODE_OF_CONDUCT.md

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-11-18 16:20:40 +01:00
Kuredant
14e12e7bc6
feat(indexers): add SugoiMusic (#1255)
* feat(indexers): add SugoiMusic

Regex tests: https://regex101.com/r/oRumE5/5

* fix(definitions): add tests to sugoimusic

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-11-18 16:15:22 +01:00
Frederick Robinson
7cb2aaa8a5
feat(irc): log connection errors (#1239)
* add logline for failed connection

* modify logging, change debug -> error

* don't surface "client called Quit" errors

* irc: don't retry Connect() while stopped

* fix issue number

* don't unlock until state-change complete

* Revert "don't unlock until state-change complete"

This reverts commit bf107db99bc2758b729a5995c63067f8fdf16aec.

---------

Co-authored-by: Shivaram Lingamneni <slingamn@cs.stanford.edu>
2023-11-18 15:44:46 +01:00
Frederick Robinson
fef0da5711
feat(definitions): add expectations for test lines (#1257)
* factor out test helpers

* refactor, add tests for animebytes

* revert test refactor

* better name

* change format, migrate some examples

* migrated remaining test cases

* add comment about `Test` vs `Tests`

* refactor

* reorder expectations to match vars

* generate

* turn on strict unmarshalling, remove old `Test` from schema

* start modifying actual definitions

* done with the As

* Bs

* C, D

* E, F

* G, H, I, ... L

* M, N

* O, P

* R

* bonus error. without this, pattern/vars disagreement can panic.

* S

* T, U

* X.. Now we know our ABCs next time won't you sing with meeeee

* fix another test

* another driveby change

* be less strict parsing custom definitions

* fix(definitions): load custom definitions

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-11-18 15:41:39 +01:00
stacksmash76
e842a7bd42
enhancement(web): ui overhaul (#1155)
* Various WebUI changes and fixes.

* feat(tooltip): make tooltip display upwards

* fix(tooltip): place tooltip to the right

* fix(web): add missing ml-px to SwitchGroup header

current: https://i.imgur.com/2WXstPV.png
new: https://i.imgur.com/QGQ49mP.png

* fix(web): collapse sections

* fix(web):  improve freeleech section

* fix(web): rename action to action_components

Renamed the 'action' folder to 'action_components' to resolve import issues due to case sensitivity.

* fix(web): align CollapsibleSection

Old Advanced tab: https://i.imgur.com/MXaJ5eJ.png
New Advanced tab: https://i.imgur.com/4nPJJRw.png
Music tab for comparison: https://i.imgur.com/I59X7ot.png

* fix(web): remove invalid CSS class

* revert: vertical padding on switchgroup

added py-0 on the freeleech part instead

* feat(settings): add back log files

* fix(settings): irc channels and font sizes

* fix(components): radio select roundness

* fix(styling): various minor changes

* fix(filters): remove jitter fields

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
Co-authored-by: soup <soup@r4tio.dev>
Co-authored-by: ze0s <ze0s@riseup.net>
2023-11-18 14:46:16 +01:00
ze0s
a274d9ddce fix(database): broken migrations 2023-11-17 23:23:55 +01:00
Steven Kreitzer
c5fb92ccf4
fix(filters): external webhook remove jitter (#1254)
* fix(filters): external webhook remove jitter

* fix: migrations

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-11-17 17:05:29 +01:00
soup
4f20b2b3f6
feat(tests): verify external autobrr.com URLs (#1253)
* feat(tests): Verify autobrr.com URLs

* test: drop body content check

* feat: Improved URL Scanning

* cleaned up comments

* refactor: enhance URL checker for readability and flexibility

- Introduce AutobrrURLChecker struct to group related variables and functions
- Replace ioutil.ReadFile with os.ReadFile for reading files
- Adjust HTTP client setup and request creation for better error handling
- Trim trailing slashes from URLs and deduplicate URLs before making requests
- Reduce sleep duration between requests to 500ms

* fix: move test into test/docs
2023-11-14 21:41:46 +01:00
soup
558bc045ab
refactor: streamline shutdown signal handling (#1248) 2023-11-14 20:39:29 +01:00
Kyle Sanderson
fc63d46e71
feat(go): implement cpu quota detection (#1251)
* feat(go): implement quota detection

* go get go mod tidy

---------

Co-authored-by: soup <soup@r4tio.dev>
2023-11-14 20:35:09 +01:00
Bogdan
0b7d9b5976
feat(indexers): update base url for Milkie (#1256)
This is needed to prevent redirects www to non-www.
2023-11-14 20:31:06 +01:00
Antoine
73e76c4214
feat(database): postgres set ssl mode (#1245)
* feat(database): postgres set ssl mode

* feat(database): postgres set extra params
2023-11-06 19:04:32 +01:00
Kyle Sanderson
8c89481d88
feat(sqlite): implement query planner (#1174)
* feat(sqlite): implement query planner

* implement Close on SQLite
2023-11-01 18:07:16 +01:00
dependabot[bot]
5cf5d16050
build(deps): bump the golang group with 1 update (#1235) 2023-11-01 16:43:04 +00:00
ze0s
d5d1cecc1b
feat(clients): Transmission support seedtime and ratiolimit (#1211)
* feat(clients): Transmission seedtime ratiolimit

* feat(clients): update client pkg

* feat(clients): update client pkg test

* feat(actions): update transmission
2023-10-31 00:38:23 +01:00
ze0s
568e41de24
feat(indexers): add ABNormal (#1232)
* feat(indexers): add Abnormal

* fix: casing

* fix: network name casing
2023-10-31 00:23:40 +01:00
soup
89d00d0986
fix(config): prevent overwriting default logPath (#1219)
* fix(config): prevent overwriting logPath default

* Fix duplication issue

* fix: Preserve non-empty logPath value in config
2023-10-30 23:04:53 +01:00
Kyle Sanderson
9ddaea1aa2
build(deps): bump rls to v0.5.10 (#1226)
* chore(qbittorrent): bump deps

* chore(deps): update go dependencies

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
2023-10-30 23:00:46 +01:00
Kyle Sanderson
92659bca5f
fix(filters): external webhooks improve defaults (#1227)
* fix(external actions): retry

* mods

* wrap in bufio
2023-10-30 22:18:43 +01:00
ze0s
7c91d34cb4
fix(feeds): feed cache key (#1230)
* fix(feeds): feed cache sometimes missing key

* fix(feeds): feed cache use link as key if no guid
2023-10-30 22:10:03 +01:00