Matt Van Horn and Matt Van Horn
58058f2ea6
fix: make quicklook optional in Glances integration schema ( #5949 )
...
On macOS (and some Glances configurations) the /api/4/all endpoint
omits the quicklook key, causing a Zod invalid_type error and crashing
the system health widget. Mark quicklook as .optional() in allSchema
and add a null-safe fallback (`?? "Unknown"`) for cpuModelName.
Fixes #5728
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com >
2026-06-16 10:17:56 +02:00
Thomas
5fe43eb363
fix(beszel): correct unit scaling for system stats and container charts ( #5958 )
2026-06-14 18:21:29 +02:00
homarr-crowdin[bot]
db8440bddf
chore(lang): updated translations from crowdin ( #5875 )
2026-06-14 16:59:34 +02:00
Thomas Camlong
c20522946c
style: auto-fix lint and format
2026-06-12 15:58:31 +02:00
Thomas
93c008ff4f
docs: add varied improvements ( #5942 )
2026-06-12 15:50:41 +02:00
Thomas
2fb7bde900
feat(lang): add Finnish language support ( #5892 )
2026-06-12 13:57:11 +02:00
Thomas
7567842c4c
docs: add Beszel, SQLite backup, and Custom widgets documentation ( #5930 )
2026-06-12 13:56:53 +02:00
Thomas
d16571d4c4
chore(deps): batch dependency updates, pnpm v11 migration, and fix integration cache ( #5939 )
2026-06-12 13:52:43 +02:00
Thomas Camlong
7f8b0121b3
fix(definitions): gracefully handle sitemap fetch failure in codegen
...
The postinstall codegen script crashes CI when homarr.dev/sitemap.xml
is unreachable. Now catches fetch errors and keeps the existing
committed homarr-docs-sitemap.ts instead of crashing.
2026-06-11 18:55:07 +02:00
Thomas
9e421c67bd
feat(docs): migrate documentation site into monorepo ( #5912 )
2026-06-11 18:48:39 +02:00
Thomas
3e464a76f2
fix(image-proxy): use ArrayBuffer instead of Blob to prevent OOM on Node v24 ( #5926 )
2026-06-11 11:50:49 +02:00
homarr-renovate[bot]
b675ac934a
chore(deps): update dependency mantine-contextmenu to ^7.17.1 ( #5921 )
...
* chore(deps): update dependency mantine-contextmenu to ^7.17.1
* style: auto-fix lint and format
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-11 10:16:12 +02:00
Daniel Lopes and Daniel Lopes
cd1a82a640
feat: add Technitium DNS integration, usable with DNS Hole widgets ( #5832 )
...
Co-authored-by: Daniel Lopes <daniel.lopes@agido.com >
2026-06-11 00:22:09 +02:00
Thomas
a42af0e678
fix(boards): add permissions to board summary schema to fix manage page crash ( #5917 )
...
* fix(boards): add permissions to board summary schema to fix manage page crash
The getAllBoards query fetches userPermissions and groupPermissions
from the DB, but boardSummarySchema (the output validator) did not
include them. tRPC stripped the fields, causing a TypeError when
getBoardPermissionsAsync called .some() on undefined.
* fix(backup): cast Buffer to Uint8Array for NextResponse body
Node 24 narrowed the BodyInit type, making Buffer incompatible.
Wrapping in Uint8Array satisfies the type constraint.
* fix(lint): remove forbidden non-null assertions across backup and board code
Replace non-null assertions with safe guards, optional chaining, and
for-of iteration so oxlint passes in CI. Also remove unused Collapse import.
2026-06-10 19:51:56 +02:00
Thomas Camlong
f26007a29a
fix(db): inline custom widget seed data to fix CJS migration crash
...
`import.meta.url` is undefined when esbuild bundles migrate.ts into
migrate.cjs, causing a TypeError at startup. Inline the seed JSON
data directly instead of reading from disk, which also fixes the
Docker image missing the seed files (not copied by Dockerfile).
2026-06-10 19:32:59 +02:00
Thomas
aecbca2b81
feat: custom widgets ( #5889 )
2026-06-10 18:58:14 +02:00
Thomas
74443a49b2
feat(ui): add global query cache leveraging Redis ( #5811 )
2026-06-10 18:52:06 +02:00
Thomas
29bd7101b1
feat(board): add widget hover overlay on dashboard ( #5888 )
2026-06-10 18:45:41 +02:00
Thomas
6baff7be3d
feat: add MCP server for AI assistant integration ( #5882 )
2026-06-10 18:28:34 +02:00
Thomas
d77c6f8d4e
feat: add Uptime Kuma, Audiobookshelf, Paperless-ngx, and Navidrome integrations ( #5910 )
2026-06-10 18:27:24 +02:00
Thomas
a4db9cf0dc
feat(beszel): add Beszel integration with system monitoring widgets ( #5900 )
2026-06-10 18:27:05 +02:00
Thomas
5d1f268438
feat: SQLite backup & restore with WASM preview ( #5887 )
2026-06-10 18:26:17 +02:00
Thomas
484b8cf9f1
fix: gracefully skip widgets with unknown kind instead of crashing ( #5915 )
2026-06-10 18:19:13 +02:00
Afonso Jorge Ramos
f6d5f97933
fix(integrations): support truenas json-rpc api, certificate trust, and api key auth ( #5861 )
...
* chore(integrations): add ws dependency for the truenas client
* feat(definitions): allow api key authentication for truenas
* fix(integrations): connect to truenas over trusted-certificate websocket with protocol autodetection
* test(integrations): cover truenas protocol detection and authentication
* refactor(integrations): avoid shorthand index variable in truenas mapping
* feat(integrations): add a websocket url helper to the integration base
* refactor(integrations): extract truenas connection handling into a client
2026-06-08 22:20:42 +02:00
Thomas Camlong
efd37dca93
fix(db): log when UNSAFE_ENABLE_MOCK_INTEGRATION is enabled during seeding
...
Warn on startup seed when mock integration env flag is set, matching demo mode visibility.
2026-06-05 18:43:33 +02:00
Thomas Camlong
68f24e34d5
fix: disable onboarding tours when demo mode is enabled
...
Return completed tour status in demo mode so board and manage tours do not start for demo users.
2026-06-05 18:02:08 +02:00
Thomas Camlong
4f5f3e14a1
fix: sync docs sitemap and remove stale coolify ts-expect-error
2026-06-05 17:39:03 +02:00
Thomas and copilot-swe-agent[bot]
dbf021e04a
feat(docker): add container logs modal and stats columns ( #4807 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-05 16:57:26 +02:00
Thomas
0b663a7fc6
feat(onboarding): guided management and board tours ( #5756 )
2026-06-05 16:54:50 +02:00
Afonso Jorge Ramos
0dc2558faf
feat: add PeaNUT integration and UPS monitoring widget ( #5862 )
2026-06-05 16:51:09 +02:00
Thomas
dd7a4908a3
feat(onboarding): enhance integration setup with Docker discovery and URL templating ( #5607 )
2026-06-05 16:50:35 +02:00
Thomas
0a6467979a
feat: add comprehensive demo mode with mock integrations ( #5870 )
2026-06-05 16:36:45 +02:00
Thomas and Meier Lukas
25d964a197
refactor(spotlight): registry-driven CMDK preferences ( #5817 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-06-05 16:26:48 +02:00
Thomas
3d3e3059a9
feat: media request search as first-class spotlight mode ( #5823 )
2026-06-05 16:09:14 +02:00
homarr-crowdin[bot] and Meier Lukas
9ae8cb2768
chore(lang): updated translations from crowdin ( #5863 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-06-05 13:48:42 +02:00
Thomas
99346f288b
feat(widgets): add in-place app editing in widget edit modal ( #5809 )
2026-06-05 12:31:50 +02:00
Thomas
41fe5928f1
fix: add bookmark widget option to toggle card borders ( #5854 )
2026-06-04 11:07:31 +02:00
Afonso Jorge Ramos
2c6b7a818e
fix(immich): respect app color scheme in server-stats widget ( #5859 )
2026-06-04 09:50:02 +02:00
Thomas
fd10788838
fix(auth): relax password complexity requirements to suggestions-only ( #5764 )
2026-06-04 07:56:34 +02:00
homarr-crowdin[bot]
d86fe3ddf0
chore(lang): updated translations from crowdin
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-06-02 02:23:34 +00:00
homarr-crowdin[bot]
07d991a0a1
chore(lang): updated translations from crowdin
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-05-30 05:27:45 +00:00
Thomas and Meier Lukas
2991777b0a
feat(users): rework general settings ( #4915 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-29 21:22:55 +02:00
Thomas and Meier Lukas
6cc2ac56a9
fix: prevent GitHub releases check from blocking app on API failure ( #5807 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-29 21:14:51 +02:00
Meier Lukas
650f761325
ci(format): fails to apply format due to conflict between --write and --check ( #5815 )
2026-05-29 11:07:48 +02:00
David
be61602576
feat(auth): support custom token endpoint auth methods ( #5806 )
2026-05-29 10:51:28 +02:00
homarr-crowdin[bot]
d01834d975
chore(lang): updated translations from crowdin ( #5814 )
2026-05-29 10:07:48 +02:00
Thomas
4454e3fb7a
fix: matine ui fixes for concistency ( #5733 )
2026-05-28 10:59:03 +02:00
Thomas
c252b4f9ac
feat(manage): unified management page layout ( #5758 )
2026-05-28 10:56:46 +02:00
Vivaan Dhawan
b19549b601
fix: parse Speedtest Tracker created_at as local time ( #5751 )
2026-05-28 07:48:00 +00:00
homarr-renovate[bot] and Thomas Camlong
f7ea1b33a0
chore(deps): update mantine monorepo to v9 ( #5411 )
...
Co-authored-by: Thomas Camlong <thomas@ajnart.fr >
2026-05-27 17:29:52 +02:00