* 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>
* 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>
* 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>
* feat(releases): support magnet links
* feat(feeds): support magnet links
* feat(actions): log messages
* fix: component warning
* fix: check hasprefix instead of hassuffix for magnet
* feat(release): resolve magnet uri from link
* fix(actions): deluge use magnet uri
* fix(macros): add `MagnetURI` var
* fix(actions): run magnet resolving before macros
* feat(feeds): set download type on creation
* failed to compile locally without trailing slash
* matching tooltip color with subtitles/descriptions
* reverted docs icon
* fixed freeleech tooltip text
* corrected colors for tooltip icon on login page
* Add support for the 'Test' button to work
* Make Porla show up in filter actions select
* Add an empty Porla action
* Make Porla action find download client
* Make implementation actually add torrent to Porla
* Fix qBittorrent import
* Finish up Porla action
* Check length on commitish before slicing
* Move Porla to the other DL clients
* Add Porla to type name map
* Move Porla to beneath the other download clients
* feat(filters): add support for language
* feat(filters): add db migrations and repo
* feat(filters): fix failing tests
* feat(filters): fix failing tests
* feat(irc): support SASL and NickServ auth
* feat(irc): add missing fields
* feat(irc): support SASL and NickServ auth
* feat(irc): add missing fields
* feat(irc): add validation
* feat(indexers): unify and set required values
* feat(irc): add postgres migrations
* feat(irc): use nick as handlerkey
* feat(irc): use account for nickserv
* fix(irc): pg db migration
* enhancement: improved alerts component contrast
enhancement: simplified and improved radio switch group look
fix: fixed inconsistent spacing in input components (there's still some work left to be done)
fix: made slideover panel display on full width on mobile devices
enhancement: made forms more accessible to mobile users, adapter changes in accordance with the previous input components fix
fix: fixed misspelling in NotificationForms filename
chore: cleaned up code
fix: made filter table top edges less round and improved look
fix: fixed a bug where when a modal/slideover component was opened, a 1px white bar would be shown in one of the modal parent elements (for the fix see L89 in screens/settings/DwonloadClient.tsx)
enhancement: improved responsiveness for irc network list
* Fixed 2 small comma warnings from ESLint
Co-authored-by: anonymous <anonymous>
* refactor(irc): nickserv and methods
* feat(notifications): add new events and refactor send
* feat(irc): handle disconnect reconnect and connect
* feat(irc): update config for ergo local irc server
* feat(irc): retry initial connect
* feat(irc): show nickserv errors
* Started refactoring codebase for React 18.
* Migrated to react-router v6 fully
* Removed useless test setup along with relevant packages.
* Removed leftover console.log statement
* feat: use status forbidden for onboarding
* refactor(web): use react hook form on login
* fix: comply with r18 shenanigans
* chore: update packages
feat: add log searching
feat: wrap parent container to add a scrollbar on overflow so it doesn't push the page lower with each message
feat: switch to showing time instead of date+time
* fix(tsconfig.json): changed skipLibCheck to false.
refactor(eslint): moved configuration from package.json to .eslintrc.js and added a typescript plugin for future use
* feat: wip eslint and types
* feat: fix identation
* feat: get rid of last any types
* refactor: modified existing react imports to conform with the recommended approach of not using the default export directly, since it will be deprecated in one of the future releases. see https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html for more info. note: react types don't require importing of react.
refactor: cleaned up some of the imports
* feat: added eslint and fixed all the errors/warning. eslint can now be invoked by running "npm run lint".
chore: updated .gitignore not to include unnecessary artefacts.
refactor: re-organized some of the imports.
* refactor: converted remaining few typed functional components to proper prop argument structure.
* fix: fixed small react-query invalidation bug for the FilterDetails component.
Co-authored-by: anonymous <anonymous>
* Removed recoil and replaced it with react-ridge-state, a 0.4kb alternative.
* Added AuthContext and SettingsContext persistent localStorage states.
* Fixed tailwind.config.js incorrect key directive. See https://tailwindcss.com/docs/content-configuration#safelisting-classes.
* Changed darkMode in Tailwind to "class" and started manually adjusting the theme according to the appropriate media query.
* Added possibility of changing the theme manually via the Settings tab.
* Changed Releases.tsx behavior to show the UI only when the HTTP request succeeded and there is some data (i.e. table is non-empty).
* Changed the table color of screens/filters/list.tsx to a one notch lighter shade of gray for eye-comfort.
* Replaced "User" in the header, with the users real username.
* Made data version, commit and date fields optional in settings/Application.tsx.
* Started working on a RegExp playground, which works fine, but JS won't cooperate and return the right match length. Either way, the RegExp must be implemented on backend and then must be communicated with the frontend. Otherwise a potential for incorrect results exists.
* Removed Layout.tsx, since it was redundant.
* Created a Checkbox component class for easier and consistent future use.
* Rewritten App.tsx, Login.tsx, Logout.tsx to accomodate for new changes.
* Fixed previous mistake regarding tailwind.config.js purge key, since we're still using old postcss7 from October last year
* Removed package-lock.json from both root and web directories.
* Refresh TypeScript configuration to support a types/ directory containing d.ts. The effect of this is that types don't have to be imported anymore and are at all times available globally. This also unifies them into a single source of truth, which will be a lot easier to manage in the future. Note: Only certain interop types have been moved at the time of writing.
* Fixed minor Checkbox argument mistake.
* fix: remove length from data check
* chore: lock files are annoying
* fix: select
* fix: wip release filtering