* feat: add media management
* feat: add missing page search item
* fix: medias should be hidden for anonymous users
* chore: rename show-all to include-from-all-users
* fix: inconsistent table column for creator-id of media
* fix: schema check not working because of custom type for blob in mysql
* chore: temporarily remove migrations
* chore: readd removed migrations
* feat: add everyone group through seed
* feat: add reserved group name check in group router actions
* feat: improve user interface for everyone group
* fix: reserved group alert is a server component
* feat: add all users to everyone group
* chore: update lockfile
* fix: format issues
* fix: lint issues
* fix: lint format issues
* test: add unit tests for everyone group
* refactor: add codegen for documentation urls by sitemap
* refactor: change group query to count
* chore: remove migrations temporarily
* chore: add migrations again
* chore: add lint rule to prevent usage of raw documentation links
* fix: format issues
* feat: add first day of week user setting
* fix: add missing migrations
* fix: format and test issues
* fix: deepsource issue
* refactor: rename first-day-of-week procedure
* fix: restrict parts of manage navigation to admins
* fix: restrict stats cards on manage home page
* fix: restrict access to amount of certain stats for manage home
* fix: restrict visibility of board create button
* fix: restrict access to integration pages
* fix: restrict access to tools pages for admins
* fix: restrict access to user and group pages
* test: adjust tests to match permission changes for routes
* fix: remove certain pages from spotlight without admin
* fix: app management not restricted
* feat: add member sync between groups of ldap and homarr
* chore: remove temporary console statement
* test: add unit tests for adding and removing ldap group members
* fix: spotlight help links should open in new tab
* fix: x button is not clickable in spotlight
* fix: reduce offset for spotlight, to improve screen usage on mobile
* fix: mysql migration not working
* test: add system integration test for mysql migration
* fix: format issues
* fix: deepsource issues
* chore: address bad name for mysql migration test
* 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
* 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
* fix: renovate approval run for all pull requests on every pull request change
* fix: run approval only for renovate branches
* fix: restrict actor to renovate bot
* 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
* fix: skip env validation in dockerfile not working
* fix: skip env validation in dockerfile not working
* fix: remove linux/arm/v7 for now as node commands are run forever
* fix: remove cache because it is to big?
* refactor: remove redis log transport during build
* fix: add more checks for conditional redis connection
* fix: docker build not working locally
* refactor: move base image to debian
* chore: add arm v7 platform support
* fix: remove armv7 support as not supported by turbo
* chore: profile amd64 build
* chore: enable webpack logging
* chore: disable linux/arm64 for now
* chore: remove profiling from build in dockerfile
* chore: revert to node alpine image
* 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
* feat: add integration access check to middlewares
* fix: format issues
* fix: remove group and user permissions and items from context
* refactor: move action check to seperate function
* 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
* style: improve mobile compatibility of certain manage pages
* style: improve mobile support for more manage pages
* fix: format issues
* chore: address pull request feedback
* 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
* refactor: add cron job core package
* docs: add comments to cron validation types
* chore(deps): move node-cron dependencies from tasks app to cron-jobs-core package
* fix: runOnInit is not running on start and rather on job creation
* fix: format issues
* fix: build fails when using top level await in cjs
* chore: update turbo gen package json typescript version to 5.5.2
* fix: format issue
* fix: deepsource issues
* chore: update turbo gen package json eslint version to 9.5.0
* chore: fix frozen lockfile and format
* test: add pi-hole test container integration test
* chore: improve waiting logic for test container
* refactor: improve structure of pi hole test
* fix: eslint does not recognize test directory to be part of tsconfig