* feat(releases): show details in list view
* fix(releases): activitytable columns type
* fix(releases): incognito mode
* feat(releases): move details button
* do we wanna truncate?
* fix(web): release column width at full size
---------
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
* fix(http): flip to a shared transport and clients
* nice threads
* that is terrible
* fake uri for magnet
* lazy locking
* why bother with r's
* flip magic params to struct
* refactor(http-clients): use separate clients with shared transport
* refactor(http-clients): add missing license header
* refactor(http-clients): defer and fix errors
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* add db seed/reset functionality
* speculative db migration support
* update postgresSchema
* refactor: only migrate data, no schema
* implement transaction in db migration function
* refactor db:seed and db:reset
added transaction to both and updated help message
* change table order
* skip on foreign key constraint violations
* skip feed_cache
* set constraints to null
* fix seed and reset
* simplify migrate func
This version of the function should behave similarly to the previous version, but with less repetition and by relying on PostgreSQL's automatic transaction handling, which starts a new transaction for each separate statement when not in a transaction block. Also, it prepares the insert statement only once for each table, which can significantly improve performance when there are many rows to insert.
* fixed release_action_status
* refactor db:seed and db:reset
* minor adjustment to const usage
* fixed usage examples
* refactor seed/migrate
* refactor(database): seed and convert
* refactor(database): make tables list sorted a-z
* chore(deps): go mod tidy
* refactor(database): convert improve log output
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* feat(backend): added change password api endpoint.
* feat(web): added profile UI to change password.
I think we can change the username too, but I don't know if we should for now disabled the username field.
* refactor: don't leak username or password.
* refactor: protect the route.
* generic
* feat: add ChangeUsername
* fix(tests): speculative fix for TestUserRepo_Update
* Revert "feat: add ChangeUsername"
This reverts commit d4c1645002883a278aa45dec3c8c19fa1cc75d9b.
* refactor into 1 endpoint that handles both
* feat: added option to change username as well. :pain:
* refactor: frontend
* refactor: function names in backend
I think this makes it more clear what their function is
* fix: change to 2 cols with separator
* refactor: update user
* fix: test db create user
---------
Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
Co-authored-by: soup <soup@r4tio.dev>
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
Co-authored-by: ze0s <ze0s@riseup.net>
* feat(qbittorrent): add priority handling
* fix: check if torrent queueing is enabled
* fix: only check for torrent queueing if priority is set
* fix: improve tooltip message
* feat: enable torrent queueing if disabled
* change to SetPreferencesQueueingEnabled
* feat(actions): rename field
* chore: bump pkg go-qbittorrent to v1.8.0
* chore(deps): update go-qbittorrent to v1.8.1
* chore(deps): go mod tidy
---------
Co-authored-by: ze0s <ze0s@riseup.net>
* refactor(dockerfile): optimize Docker builds
Combined multiple run commands into single statements in both main and CI dockerfiles, leveraging Docker's caching mechanism more effectively. This change aims to reduce image size and build time.
* hmm.
* Update ci.Dockerfile
* newline
* what about this
* three quorum members, three opinions
* true believer, right?
* when needed
* it sounds like music
* equals what
* really though, what?
* which one of you is the captain
* is that Kwejian whiskey
* ARG
* ARGH
* k.
* take me to your leader
* asd
* Update ci.Dockerfile
* try cache
* Revert
* Run Seperate platforms
* docker_build
* mother
* aggressive elephant
* leave me to my bath
* introduce buildx cache
* czechout manifests
* front left paw
* kill tags
* dealing with a child
* Update release.yml
* try outputs
* consolidation
* - =
* oxygen depleted
* where's the soup
* thanks buildx
* what's a little avx among friends
* Fine, I'll bring my own matches
* zenuuuu
* space, the final frontier
* but why
* ARE YOU HAPPY NOW
* link those binaries
* fast fail
* just the time killer you need
* add back generic arm
* ruthless dictator barbie
* kat
* build: docker add more labels
---------
Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
* feat: migrate to v5
* refactor: Revise error handling in QueryClient for compatibility with React Query v5
The `useErrorBoundary` option has been renamed to `throwOnError` and suspense have been removed: more on suspense more on suspense.
https://tanstack.com/query/v5/docs/react/guides/migrating-to-v5#new-hooks-for-suspense
* refactor: Callbacks on useQuery (and QueryObserver) have been removed
onSuccess, onError and onSettled have been removed from Queries. They haven't been touched for Mutations. Please see this https://github.com/TanStack/query/discussions/5279 for motivations behind this change and what to do instead.
* refactor: change to isPending, isLoading have been renamed for mutations.
Also, they are using object now:
- useQuery(key, fn, options)
+ useQuery({ queryKey, queryFn, ...options })
* refactor: change to placeHolderData.
Removed keepPreviousData in favor of placeholderData identity function
https://tanstack.com/query/v5/docs/react/guides/migrating-to-v5#removed-keeppreviousdata-in-favor-of-placeholderdata-identity-function
* fix: useSuspenseQuery instead of useQuery.
* fix(web): more useSuspenseQuery substitutions
* whoops - nobody saw that okay?
* fix pnpm lockfile
* fix pnpm lockfile again
---------
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
Co-authored-by: soup <soup@r4tio.dev>
* refactor: update help text for RSS, TORZNAB, and NEWZNAB
* refactor: change default to 0.
* fix: update sqlite_migrate.go
---------
Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
* feat(web): link stats to release table
- added Errored Pushes
- Made Recent Activity same color as Stats
* feat(releasetable): made links a separate row
https://i.imgur.com/ZoAOrXP.png
remove comment
* added LinkIcon to StatsItem
- Changed grid-cols to 2, as we now have 4 for narrow widths
* fix linting
* move some text modifier to parent element
* feat: add scale on hover with transition
deduplicated some classes
* adapt gap between StatsItems for mobile
remove border and title on stats divs
---------
Co-authored-by: Fabricio Silva <hi@fabricio.dev>
Co-authored-by: martylukyy <35452459+martylukyy@users.noreply.github.com>
* ci: integrate ESLint with CodeQL
* specualtive fix
* always upload sarif
* make lint.ci exit with 0 so sarif is generated
* fix: exit with 0
* exit 0 on error
* correction
* revert to default with sarif
* see what pnpm run lint --fix does
* reset codeql
* egg
* actually setup pnpm
* checking out the mall
* reimplement lint
* run lint:ci
* anyone home?
* category
* fix?
* try cats
* damage
* TRY IT ONE MORE TIME
* on an atm
* no way?
* test
* test2
* test3
* test4
* revert change in context.ts
* attempt to update lockfile
* reset and update pnpm-lock
* speculative fix
* allow it to fail
* update eslint.yml
* correct path helps
* bring lint:ci back into the fold
* revert eslint.yml
* embed sarif
* is it really this
* k. great.
---------
Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com>
* feat(filters): reflect enabled actions
* dont store release unless enabled action found
* store the release after the delay
* add new parameter to FindByFilterID method
* 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>
* 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