- Restore `await Promise.resolve()` in all async mock methods to satisfy
require-await lint rule (download, calendar, media-releases, media-server,
network-controller-summary)
- Fix Docker mock container ports to include required `IP` field and use
proper `Port` type from dockerode
- Add app widgets for bookmarked apps to the demo dashboard
- Reposition bookmarks widget (6 wide, after Proxmox) and allow edit mode
with discard-on-exit in demo mode
Introduce a DEMO_MODE env var that seeds a demo user with a fully populated
board (all widget types linked to a mock integration), blocks all mutations
server-side, shows credentials on the login page, and allows entering edit
mode without persisting changes. Fixes mock data issues (media server crash
from invalid type, calendar empty states, sparse network/media data) and
adds Docker container mocking for a complete out-of-the-box demo experience.
* feat: add default search engines seeding
* feat: set Homarr Docs as the default search
Set the default search engine in server settings during seeding
* refactor: use typed methods to define settings
* feat: add insertServerSettingByKeyAsync
* feat: update seeding logic for server settings
* fix: format file using prettier
* fix: disable eslint for `urlTemplate`
* refactor: remove never happning else
* feat: enhance createDocumentationLink
- Updated createDocumentationLink to accept query parameters
* test: add unit tests for createDocumentationLink
* fix: update urlTemplate for Homarr documentation
* feat(board): add mobile home board
* fix: add missing translations
* fix: mysql key reference with other datatype
* fix: format issue
* fix: missing trpc context arguments in tests
* fix: missing trpc context arguments in tests
* feat: add server settings for default board, default color scheme and default locale
* chore: address pull request feedback
* test: adjust unit tests to match requirements
* fix: deepsource issue
* chore: add deepsource as dependency to translation library
* refactor: restructure language-combobox, adjust default locale for next-intl
* chore: change cookie keys prefix from homarr- to homarr.
* 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: 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
* 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
* 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
* 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