* 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(widget): add proxmox integration
* fix: broken lock file
* fix: ci issues
* fix: ci issues
* fix: ci issues
* chore: debug temporary
* fix: name is not used correctly for nodes and storage in proxmox
* fix: remove temporary debu logs
* fix: job runs for both cluster and system health and throws error
* fix: ts-expect-error is unnecessary
* fix: remove unused import
* feat: add more group permissions
* feat: restrict access with app permissions
* feat: restrict access with search-engine permissions
* feat: restrict access with media permissions
* refactor: remove permissions for users, groups and invites
* test: adjust app router tests with app permissions
* fix: integration page accessible without session
* fix: search for users, groups and integrations shown to unauthenticated users
* chore: address pull request feedback
* 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 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
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)