Usenet and Torrent downloads in 1 widget.
sabNZBd, NzbGet, Deluge, qBitTorrent, and transmission support.
Columns can be reordered in Edit mode.
Sorting enabled.
Time uses Dayjs with auto translation.
Can pause/resume single items, clients, or all.
Can delete items (With option to delete assossiated files).
Clients list and details.
Include all filtering and processing for ratio from oldmarr torrent widget.
Invalidation of old data (older than 30 seconds) to show an integration is not responding anymore.
Misc (So many miscs):
Fixed validation error with multiText.
Fixed translation application for multiSelect to behave the same as select.
Added background to gitignore (I needed to add a background to visually test opacity, probably will in the future too)
Added setOptions to frontend components so potential updates made from the Dashboard can be saved.
Extracted background and border color to use in widgets.
humanFileSize function based on the si format (powers of 1024, not 1000).
Improved integrationCreatorByKind by @Meierschlumpf.
Changed integrationCreatorByKind to integrationCreator so it functions directly from the integration.
Added integrationCreatorFromSecrets to directly work with secrets from db.
Added getIntegrationKindsByCategory to get a list of integrations sharing categories.
Added IntegrationKindByCategory type to get the types possible for a category (Great to cast on integration.kind that isn't already properly limited/typed but for which we know the limitation)
Added a common AtLeastOneOf type. Applied to TKind and IntegrationSecretKind[] where it was already being used and Added to the getIntegrationKindsByCategory's output to be more freely used.
Added the Modify type, instead of omiting to then add again just to change a parameters type, use the modify instead. Applied code wide already.
Hook to get list of integration depending on permission level of user. (By @Meierschlumpf)
* feat: add test integration for pi-hole
* refactor: test integration for pi-hole
* fix: multiple secrets of same type could be used for integration creation
* fix: remove integration test connection test and add mock for test-connection function
* fix: add missing onUpdateFn to mysql integration secrets
* fix: format issues
* feat: add home assistant test connection
* fix: deepsource issues
* test: add system integration tests for test connection
* fix: add before all for pulling home assistant image
* test: add unit tests for handleTestConnectionResponseAsync
* test: add unit test for testConnectionAsync
* test: add mroe tests to integration-test-connection
* fix: deepsource issues
* fix: deepsource issue
* chore: address pull request feedback
* chore(deps): update dependency eslint to v9
* chore: migrate eslint to v9
* fix: dependency issues
* fix: unit tests not working
* chore: disable lint check for Image component that does not work in ci
* fix: lint issue
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
* feat: add simple ping
* refactor: make ping run on server and show errors
* fix: format issues
* fix: missing translation for enabled ping option for app
* refactor: remove ping queue as no longer needed
* chore: address pull request feedback
* test: add some unit tests
* fix: format issues
* fix: deepsource issues
* WIP On docker integration
* WIP on adding docker support
* WIP on adding docker support
* chore: Add cacheTime parameter to createCacheChannel function
* bugfix: Add node-loader npm dependency for webpack configuration
* revert changes
* chore: Add node-loader npm dependency for webpack configuration
* feat: Add Docker container list to DockerPage
* chore: apply pr suggestions
* fix: fix printing issue using a Date objext
* chore: Update npm dependencies
* feat: Create DockerTable component for displaying Docker container list
* feat: Refactor DockerPage to use DockerTable component
* feat: Refactor DockerPage to use DockerTable component
* feat: Add useTimeAgo hook for displaying relative timestamps
* feat: Add hooks module to common package
* refactor: Update DockerTable component
Include container actions and state badges
* feat: add information about instance for docker containers
* feat: Add OverflowBadge component for displaying overflowed data
* feat: Refactor DockerSingleton to use host and instance properties
This commit refactors the DockerSingleton class in the `docker.ts` file to use the `host` and `instance` properties instead of the previous `key` and `remoteApi` properties. This change improves clarity and consistency in the codebase.
* feat: Add OverflowBadge component for displaying overflowed data
* feat: Improve DockerTable component with Avatar and Name column
This commit enhances the DockerTable component in the `DockerTable.tsx` file by adding an Avatar and Name column. The Avatar column displays an icon based on the Docker container's image, while the Name column shows the container's name. This improvement provides better visual representation and identification of the containers in the table.
* feat: Enhance DockerTable component with Avatar and Name columns
* refactor: improve docker table and icon resolution
* chore: address pull request feedback
* fix: format issues
* chore: add missing translations
* refactor: remove black background
---------
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>