Thomas Camlong
07ad643f4d
fix(context-menu): persist widget option changes to server
...
Toggle switches and edit modal changes from the context menu now call
saveBoard mutation to persist to DB. Previously only the client cache
was updated, losing changes on reload. Removes unnecessary invalidation
that caused cascading refetch loops.
2026-06-30 17:26:52 +02:00
ajnart
f5b4625c8e
style: auto-fix lint and format
2026-06-29 19:10:48 +00:00
ajnart
ae8ad9785e
chore: revert unrelated sitemap change from auto-fix
2026-06-29 21:09:18 +02:00
ajnart
b72b70d2a3
style: auto-fix lint and format
2026-06-29 13:27:25 +00:00
ajnart
8d22df5123
fix(widgets): gate context menu behind authenticated session
...
- Only show right-click context menu for logged-in users
- Unauthenticated users see plain children without menu wrapper
- Matches existing BoardItemMenu session gating pattern
2026-06-29 15:26:09 +02:00
ajnart
2f7bdbfe1c
style: auto-fix lint and format
2026-06-29 13:12:33 +00:00
ajnart
1136b3a99b
fix(widgets): address CodeRabbit review — badge in context menu target, edit-only pending gate
...
- Move title badge inside WidgetContextMenu wrapper so right-clicking the title overlay also triggers the context menu
- Remove full-menu hide during integration loading; only disable 'Edit' action while isPending
- Add isPending to allActions useMemo dependency array
2026-06-29 15:10:34 +02:00
ajnart
bf26f17fcd
style: auto-fix lint and format
2026-06-29 15:10:34 +02:00
ajnart
83b93e17da
feat(widgets): add right-click context menu with auto-generated toggle actions
...
- Add WidgetContextMenu component using Mantine 9.3 Menu.ContextMenu
- Extend WidgetDefinition with contextActions API for widget-specific actions
- Auto-generate context menu toggle items for switch-type widget options
- Add 'Search' context action to media-requests widgets (list + stats)
- Keep existing dots-button menu for discoverability in edit mode
- Add widgetStateRef to WidgetComponentProps for client-side-only state
- Add skipContextMenu opt-out on switch option definitions
2026-06-29 15:10:34 +02:00
Thomas
597b5fbc8d
Merge pull request #6097 from homarr-labs/docs/update-helm-docs
...
Update Helm chart documentation
2026-06-27 13:24:44 +02:00
github-actions[bot]
5412577519
docs(helm): Update Helm chart documentation
2026-06-27 11:22:16 +00:00
Releases Homarr
ab9aca8b60
chore(release): 1.68.0 [skip ci]
v1.68.0
2026-06-26 18:23:57 +00:00
homarr-releases[bot]
dcde2819eb
chore(release): automatic release v1.68.0
2026-06-26 18:22:47 +00:00
Thomas
abd16354bc
feat: re-add Docker quick-access button in user menu ( #6054 )
...
Adds a Docker button to the user avatar dropdown menu (admin-only)
that opens a 1400px modal containing the same Docker container table
as /manage/tools/docker.
Closes #2165
2026-06-26 20:16:34 +02:00
homarr-update-contributors[bot]
6ac352c520
chore: update contributors ( #6088 )
...
* chore: update contributors
* style: auto-fix lint and format
---------
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2026-06-26 18:14:48 +00:00
Thomas
19f9769d9e
fix(manage/about): bypass self-fetch + add manage error boundary (LLM exploration) ( #6009 )
...
* fix(manage/about): bypass self-fetch to prevent ECONNREFUSED crash
The /manage/about page fetched its own API routes over HTTP
(http://$HOSTNAME:3000/api/about/ ...). When the server could not
reach itself (misconfigured HOSTNAME, restricted container networking,
reverse-proxy setups), fetch threw ECONNREFUSED and the whole page
crashed with a full-page Next.js error (issue #6008 ).
All four routes were force-static serving static JSON / a direct fs
read, so the HTTP round-trip was unnecessary. Replace the fetches
with direct JSON imports and a direct getDependenciesAsync() call,
eliminating the self-network dependency entirely.
Also add a manage-level error.tsx boundary (Next.js 16 convention) so
that any future runtime error in a manage page renders a friendly,
localised fallback inside the existing layout (sidebar stays usable)
instead of the ugly default full-page error.
Exploration draft by an LLM.
Refs #6008
* style: auto-fix lint and format
* refactor: use @static-data path alias, simplify error ternary
- Add @static-data/* tsconfig path alias to replace 7-level relative
imports (../../../../../../../static-data/...) with clean alias
imports across the about page and all 3 API route handlers.
- Simplify error.tsx: replace ternary with && short-circuit.
- Preserve CI lint bot's .sort() -> .toSorted() fix.
Refs #6008
2026-06-26 20:12:39 +02:00
homarr-renovate[bot]
f0b2486c8a
chore(deps): update dependency timezones-ical-library to ^2.2.1 ( #6077 )
...
* chore(deps): update dependency timezones-ical-library to ^2.2.1
* style: auto-fix lint and format
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-26 16:18:40 +00:00
Matt Van Horn
2443b89b46
fix(plex): use series title for media releases instead of season label ( #6083 )
2026-06-26 14:42:36 +02:00
Thomas
915c8a3501
fix: show app first in add item modal ( #6087 )
2026-06-26 14:42:13 +02:00
a2bb53a8b8
feat: add VPN status widget ( #5812 )
...
Co-authored-by: Lokesh-Kumar-Dudi <lkumardudi@gmail.com >
Co-authored-by: Thomas Camlong <thomas@ajnart.fr >
2026-06-26 14:29:23 +02:00
homarr-renovate[bot]
f56a05bd8e
chore(deps): update dependency video.js to ^8.23.9 ( #6084 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-26 11:04:52 +00:00
homarr-renovate[bot]
6051b17401
chore(deps): update dependency nanoid@>=4.0.0 <5.0.9 to >=5.1.15 ( #6079 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-25 16:37:40 +00:00
homarr-renovate[bot]
29eed08408
chore(deps): update dependency isomorphic-dompurify to ^3.18.0 ( #6074 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-24 17:20:55 +00:00
homarr-renovate[bot]
bd74fe4a61
chore(deps): update dependency posthog-js to ^1.391.0 ( #6073 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-24 17:18:43 +00:00
homarr-renovate[bot]
b88e8861e1
chore(deps): update dependency rollup@>=4.0.0 <4.22.4 to >=4.62.1 ( #6076 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-24 17:17:34 +00:00
homarr-renovate[bot]
39af3ec7e6
chore(deps): update dependency mantine-datatable to ^9.3.1 ( #6072 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-24 17:17:15 +00:00
homarr-renovate[bot]
7f50be3dbb
chore(deps): update dependency fast-xml-parser to ^5.9.3 ( #6069 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-24 14:48:29 +00:00
homarr-renovate[bot]
b6b7bea1dd
chore(deps): update dependency mantine-contextmenu to ^9.3.1 ( #6071 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-24 11:56:45 +00:00
homarr-renovate[bot]
9bde1dfbd6
chore(deps): update dependency pg to ^8.22.0 ( #6068 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-24 04:26:21 +00:00
homarr-renovate[bot]
c2712ed7f1
chore(deps): update tiptap monorepo to v3.27.1 ( #6067 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 22:24:52 +00:00
homarr-renovate[bot]
16be7ece33
chore(deps): update dependency nanoid@>=4.0.0 <5.0.9 to >=5.1.14 ( #6066 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 20:19:16 +00:00
homarr-renovate[bot]
b0a46186d1
chore(deps): update node.js to v24.17.0 ( #6043 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 18:07:27 +00:00
homarr-renovate[bot]
d0385a4480
chore(deps): update dependency @ctrl/qbittorrent to ^9.13.0 ( #5978 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 18:06:38 +00:00
homarr-renovate[bot]
3d6a3594a3
chore(deps): update pnpm to v11.8.0 ( #6064 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 16:02:26 +00:00
homarr-renovate[bot]
641ee18278
chore(deps): update dependency hono@<4.6.5 to >=4.12.26 ( #6062 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 12:44:43 +00:00
homarr-renovate[bot]
2e538bf40d
chore(deps): update dependency lucide-react to ^1.21.0 ( #6063 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 09:52:42 +00:00
homarr-renovate[bot]
1c0a94a6dc
chore(deps): update playwright monorepo ( #6045 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 00:26:23 +00:00
homarr-renovate[bot]
3a3dc449de
chore(deps): update scalar monorepo ( #6056 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 00:22:43 +00:00
homarr-renovate[bot]
d6b156b8ee
chore(deps): update dependency posthog-js to ^1.388.1 ( #6041 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 00:21:38 +00:00
homarr-renovate[bot]
fc4e31fb42
chore(deps): update dependency @gfazioli/mantine-onboarding-tour to ^4.0.5 ( #6033 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-23 00:19:54 +00:00
homarr-renovate[bot]
b82b22431b
chore(deps): update vitest monorepo to ^4.1.9 ( #6037 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-22 22:15:25 +00:00
homarr-renovate[bot]
510cba295a
chore(deps): update dependency oxfmt to ^0.55.0 ( #6040 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-22 19:49:24 +00:00
homarr-renovate[bot]
56d838dafc
chore(deps): update dependency fast-xml-parser to ^5.9.2 ( #6039 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-22 19:45:28 +00:00
homarr-renovate[bot]
eae9f0438c
chore(deps): update oxlint monorepo ( #6044 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-22 16:17:14 +00:00
homarr-renovate[bot]
b81f729bfd
chore(deps): update testcontainers-node monorepo to ^12.0.3 ( #6057 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-22 16:07:28 +00:00
homarr-renovate[bot]
86b83c5425
chore(deps): update mantine monorepo to ^9.3.2 ( #6036 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-22 16:05:35 +00:00
Thomas
bbc4589c9e
fix(beszel): leverage TanStack Query for stale-while-revalidate caching ( #6055 )
2026-06-22 17:17:09 +02:00
Thomas
ea9dd716f0
Merge pull request #6053 from homarr-labs/beszel-1w-30d-data-view
...
fix(beszel): use 480m interval for 1w/30d stats views
2026-06-22 15:44:43 +02:00
Thomas Camlong
4383da38ef
fix(beszel): use 480m interval for 1w/30d stats views
...
Beszel only stores stats at 1m, 10m, 20m, 120m, 480m intervals.
The 1440m type doesn't exist, so queries for 1w/30d returned empty
results. Use 480m (8h) with appropriate perPage (21 for 1w, 90 for 30d).
2026-06-22 15:44:14 +02:00
homarr-crowdin[bot]
58cb65cb3a
chore(lang): updated translations from crowdin ( #6029 )
2026-06-22 15:23:27 +02:00