* 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
* 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>
* 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
* feat(logs): show and download log files
* feat(logs): make logs settings dropdown
* feat(logs): minor cosmetic changes
* fix(logs): send empty response when lohpath not configured
* fix(logs): remove unused imports
* feat(logs): check if logs dir exists
* feat(logs): list log files in settings
* 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
* fix(irc): rewrite handler pipeline
This might be overkill but the pipeline has been made event driven. I've tested on a couple networks, and bouncing nicks / connections brings it back every time. creating the a different branch from https://github.com/autobrr/autobrr/pull/398 because it's pretty intrusive (and I didn't apply the GUI changes).
* fix(irc): couple adjustments
* fix(irc): deadlocks
* fix: add missing dependency
* fix(irc): remove more locks from connect cmds
* feat(irc): conditional monitoring message
* feat(irc): show unhealthy network in ui
* feat(irc): improve logs and comments
* 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
* 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(APIClient): updated the newly added findQuery function to use URLSearchParams instead of manually crafting the URI string itself.
* refactor: moved duplicate dashboard/release code to a separate folder: components/data-table.
* refactor(SlideOver): added proper typings to the SlideOver component and added a sanity check to prevent passing of null/undefined values to the child component before rendering.
* refactor: removed the redundant Network and Channel typings and updated relevant typings to match the backend. adapted relevant code to match these changes.
* fix(ChannelsFieldArray): fixed a bug where it was unable to add a new irc network due to the validation object being initialized as non-empty (formik requires that successful validated entries return empty objects)
* refactor(screens/settings/Irc): replaced incorrect typings, sanitized potentially null values and cleaned up the code.
* fix: included changes should fix issue #158 as well.
* feat: send chan empty array
* 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