Commit Graph

158 Commits

Author SHA1 Message Date
Manuel
2535192b2c feat: downloads widget (#844)
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)
2024-09-11 17:30:21 +02:00
Meier Lukas
5404cebf5b feat: add import for config files from oldmarr (#1019)
* wip: add oldmarr config import

* wip: add support for wrong amount of categories / sections with autofix, color mapping, position adjustments of wrappers

* fix: lockfile broken

* feat: add support for form data trpc requests

* wip: improve file upload

* refactor: restructure import, add import configuration

* wip: add configurations for import to modal

* refactor: move oldmarr import to old-import package

* fix: column count not respects screen size for board

* feat: add beta badge for oldmarr config import

* chore: address pull request feedback

* fix: format issues

* fix: inconsistent versions

* fix: deepsource issues

* fix: revert {} to Record<string, never> convertion to prevent typecheck issue

* fix: inconsistent zod version

* fix: format issue

* chore: address pull request feedback

* fix: wrong import

* fix: broken lock file

* fix: inconsistent versions

* fix: format issues
2024-09-07 18:13:24 +02:00
Manuel
19cd41a8e5 feat: add crawling settings (#959)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-09-06 22:51:18 +02:00
Meier Lukas
8c205535eb fix: wevbsocket url is always localhost (#1072) 2024-09-06 21:11:58 +02:00
Meier Lukas
b080e0de71 feat: add colorscheme to user in db (#987) 2024-09-01 20:37:52 +02:00
Meier Lukas
2738f40c5e fix: when removing one item and then adding another one that newly added one can not be moved (#1025)
* fix: when removing one item and then adding another one that newly added one can not be moved

* chore: address pull request feedback

* fix: deepsource canceled
2024-08-29 22:26:02 +02:00
Manuel
f0cd45c813 feat: implement openapi (#482) 2024-08-25 18:03:32 +02:00
Meier Lukas
022fad92a9 fix: empty wrappers without items should not be visible in view mode (#1026) 2024-08-25 11:38:05 +02:00
Meier Lukas
2d155fa0c4 feat: add password requirements (#988)
* feat: add password requirements

* fix: format issue

* fix: unexpected empty string in component jsx

* test: adjust unit test passwords
2024-08-19 21:11:36 +02:00
Meier Lukas
7521ef0519 feat: add hotkeys (#986) 2024-08-18 12:07:00 +02:00
Meier Lukas
c5894136f6 refactor: remove item import for now (#985) 2024-08-16 22:49:56 +02:00
Meier Lukas
f8c9ae67f8 wip: add modal to move items on board (#927) 2024-08-10 22:58:48 +02:00
Meier Lukas
bc886d9476 feat: add collapse to login screen with cli command for password reset (#963)
* feat: add collapse to login screen with cli command for password reset

* refactor: add translations
2024-08-10 15:54:43 +02:00
Meier Lukas
9ce172e78a feat: add dynamic section (#842)
* chore: add parent_section_id and change position to x and y_offset for sqlite section table

* chore: rename existing positions to x_offset and y_offset

* chore: add related mysql migration

* chore: add missing height and width to section table

* fix: missing width and height in migration copy script

* fix: typecheck issues

* fix: test not working caused by unsimilar schemas

* wip: add dynamic section

* refactor: improve structure of gridstack sections

* feat: add rendering of dynamic sections

* feat: add saving of moved sections

* wip: add static row count, restrict min-width and height

* chore: address pull request feedback

* fix: format issues

* fix: size calculation within dynamic sections

* fix: on resize not called when min width or height is reached

* fix: size of items while dragging is to big

* chore: temporarly remove migration files

* chore: readd migrations

* fix: format and deepsource issues

* chore: remove db_dev.sqlite file

* chore: add *.sqlite to .gitignore

* chore: address pull request feedback

* feat: add dynamic section actions for adding and removing them
2024-08-10 12:37:16 +02:00
Meier Lukas
f327837d82 feat: add user setting for home board (#956) 2024-08-09 19:24:50 +02:00
Meier Lukas
13e09968d9 feat: add logout redirect url (#954)
* feat: add logout redirect url

* fix: format issue
2024-08-09 19:24:07 +02:00
Meier Lukas
fcb72e6716 feat: add column count and is public options to board creation modal (#930)
* feat: add column count and is public options to board creation modal

* test: adjust board creation test to match modified schema
2024-08-09 18:28:52 +02:00
Meier Lukas
349c49462f fix: redirect url from login not working (#952) 2024-08-09 16:08:08 +02:00
Meier Lukas
6dafbaae48 feat: add session expiry (#951) 2024-08-09 15:59:00 +02:00
Meier Lukas
9258c397e0 fix: alert that certain fields in user settings are disabled is always shown (#928)
* fix: alert that certain fields in user settings are disabled is always shown

* fix: wrong inverted check
2024-08-08 20:38:17 +02:00
Meier Lukas
81946e50a9 feat: add duplication action for items (#926) 2024-08-08 20:37:41 +02:00
Meier Lukas
c4c4d41e4d feat: add support for app url variables (#915)
* feat: add support for app url variables

* fix: test not working

* fix: format issue
2024-08-06 21:43:12 +02:00
Meier Lukas
ca1ecdf848 feat: add preview to icon picker (#914) 2024-08-04 21:20:21 +02:00
Meier Lukas
b53a2b6b78 feat: add refresh button to docker containers table (#913) 2024-08-04 21:19:31 +02:00
Meier Lukas
b8b084c188 fix: restrict access to docker containers page to admins (#912) 2024-08-04 21:19:16 +02:00
homarr-renovate[bot]
a9a46024e2 fix(deps): update dependency typescript-eslint to v8 (#896)
* fix(deps): update dependency typescript-eslint to v8

* fix: lint issues

* fix: more lint issues

---------

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2024-08-01 10:13:12 +02:00
Meier Lukas
8e10c48d2f fix: videos not playing automatically on iOS / mobile (#875) 2024-07-27 23:00:45 +02:00
Meier Lukas
55a000a7fc fix: missing breadcrumb translation, wrong spacing in user layout (#872) 2024-07-27 21:09:34 +02:00
Manuel
15d9327d46 feat: add rss widget (#760)
Co-authored-by: SeDemal <demal.sebastien@bluewin.ch>
2024-07-27 18:11:29 +02:00
Meier Lukas
4380aa9b3e fix: mantine-react-table not localized #333 (#873) 2024-07-27 17:10:51 +02:00
Meier Lukas
6f7327b774 feat: restrict non credential provider interactions (#871)
* wip: add provider field to sqlite user table

* feat: disable invites when credentials provider is not used

* wip: add migration for provider field in user table with sqlite

* wip: remove fields that can not be modified by non credential users

* wip: make username, mail and avatar disabled instead of hidden

* wip: external users membership of group cannot be managed manually

* feat: add alerts to inform about disabled fields and managing group members

* wip: add mysql migration for provider on user table

* chore: fix format issues

* chore: address pull request feedback

* fix: build issue

* fix: deepsource issues

* fix: tests not working

* feat: restrict login to specific auth providers

* chore: address pull request feedback

* fix: deepsource issue
2024-07-27 11:38:51 +02:00
Manuel
43e48010e5 fix: job translations (#846) 2024-07-22 21:02:36 +02:00
Manuel
508fcb9861 feat: allow no secrets for integration (#856) 2024-07-22 21:00:14 +02:00
Meier Lukas
dc75ffb9e6 feat: add ldap and oidc sso (#500)
* wip: sso

* feat: add ldap client and provider

* feat: implement login form

* feat: finish sso

* fix: lint and format issue

* chore: address pull request feedback

* fix: build not working

* fix: oidc is redirected to internal docker container hostname

* fix: build not working

* refactor: migrate to ldapts

* fix: format and frozen lock file

* fix: deepsource issues

* fix: unit tests for ldap authorization not working

* refactor: remove unnecessary args from dockerfile

* chore: address pull request feedback

* fix: use console instead of logger in auth env.mjs

* fix: default value for auth provider of wrong type

* fix: broken lock file

* fix: format issue
2024-07-20 22:23:58 +02:00
SeDemal
4e03e7f49d fix: Manage banner animation hitch fix (#826) 2024-07-17 13:45:27 +02:00
Meier Lukas
3214d889fa refactor: add color initials to avatar, improve usage of user avatar (#753) 2024-07-08 00:00:54 +02:00
Meier Lukas
408cdeb5c3 feat: add integration access settings (#725)
* feat: add integration access settings

* fix: typecheck and test issues

* fix: test timeout

* chore: address pull request feedback

* chore: add throw if action forbidden for integration permissions

* fix: unable to create new migrations because of duplicate prevId in sqlite snapshots

* chore: add sqlite migration for integration permissions

* test: add unit tests for integration access

* test: add permission checks to integration router tests

* test: add unit test for integration permissions

* chore: add mysql migration

* fix: format issues
2024-07-08 00:00:37 +02:00
Meier Lukas
be711149f7 fix: manage links wrong (#754) 2024-07-07 21:32:36 +02:00
Meier Lukas
95101e34ed feat: add docker actions (#752)
* feat: add docker actions

* chore: remove unnecessary import
2024-07-07 09:58:40 +02:00
Manuel
bb8640b162 feat: add jellyfin integration (#672)
* feat: #655 implement jellyfin media server

* fix: table overflow

* feat: pr feedback

* refactor: format

* refactor: merge existing code

* fix: code smells

* refactor: format commit
2024-07-03 20:06:57 +02:00
Manuel
08d571ad74 feat: add tasks page (#692) 2024-07-01 18:57:40 +02:00
Manuel
4e1bbf2ae6 feat: add dynamic breadcrumb (#706)
* feat: add dynamic breadcrumb

* feat: pr feedback
2024-06-29 17:28:22 +02:00
Manuel
c4b54ed36c fix: open navigation item by default (#716) 2024-06-26 12:19:05 +02:00
Meier Lukas
6029a5b592 style: improve mobile compatibility of certain manage pages (#678)
* style: improve mobile compatibility of certain manage pages

* style: improve mobile support for more manage pages

* fix: format issues

* chore: address pull request feedback
2024-06-22 21:02:17 +02:00
Meier Lukas
f92aeba403 feat: test integration connection (#669)
* 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
2024-06-22 21:02:04 +02:00
Meier Lukas
f358c33bd3 fix: missing translations for apps / integrations #438 (#674)
* fix: missing translations for apps / integrations #438

* chore: remove unnecessary property from integration new dropdown
2024-06-16 22:10:17 +02:00
Meier Lukas
e957c6b601 fix: icon selector is a select not an autocomplete #515 (#675) 2024-06-16 22:09:48 +02:00
Meier Lukas
9cab001451 chore: improve importing of some packages (#647)
* chore: improve importing of some packages

* fix: not same version for all dependencies

* fix: lint and format issue
2024-06-10 21:26:39 +02:00
Meier Lukas
8e4ba37f94 fix: login with revalidate path and wrong preferences link (#654) 2024-06-10 21:17:51 +02:00
Meier Lukas
2c1b52aff9 fix: gridstack not working (#642)
* fix: gridstack not working

* chore: remove unneccessary comments
2024-06-08 22:22:15 +02:00