Thomas Camlong
747ccdfa9e
fix: finish widget modernization audit
2026-08-13 19:54:50 +02:00
Thomas Camlong
1fa345edd1
feat: modernize widget experience
2026-08-13 19:54:48 +02:00
Thomas Camlong
6f2cd7fc2b
feat: modernize dashboard widgets
2026-08-13 19:54:28 +02:00
Thomas Camlong
ab012b4a32
fix: stabilize rail and resize interactions
2026-08-13 19:54:12 +02:00
Thomas Camlong
082f2271c5
fix: anchor dashboard rail labels
2026-08-13 19:54:12 +02:00
Thomas Camlong
5a03640a1b
fix: size dashboard rails to viewport
2026-08-13 19:54:11 +02:00
Thomas Camlong
1332f5626b
fix: stabilize board rails
2026-08-13 19:54:10 +02:00
Thomas Camlong
d5dbf6fc17
fix: contain board canvas overflow
2026-08-13 19:54:06 +02:00
Thomas Camlong
b7eb099977
fix: polish board grid interactions
2026-08-13 19:53:22 +02:00
Thomas Camlong
1f5311e93b
feat: rebuild board grid with dnd-kit
2026-08-13 19:52:59 +02:00
ajnart
0110a2ef63
feat: rebuild board grid experience
2026-08-13 19:52:09 +02:00
Thomas
c08b8979ee
feat: rewrite image picker ( #6556 )
...
* feat: rewrite image picker
* style: auto-fix lint and format
* fix: address image picker review
* fix: preserve unicode icon searches
* test: stabilize custom widget login
* fix: suggest image searches only on create
2026-08-13 19:51:44 +02:00
Thomas Camlong
1723a9e744
fix: polish settings and command menu
2026-08-13 19:51:44 +02:00
Thomas Camlong
327e5c15ae
fix(workshop): stack widget install flow
2026-08-13 19:51:44 +02:00
Thomas Camlong
40b726b8bc
fix: simplify custom widget preview controls
2026-08-13 19:51:44 +02:00
Thomas Camlong
f0b153aa37
fix(settings): avoid nested forms
2026-08-13 19:51:25 +02:00
Thomas Camlong
1bc84dd90e
test(v2): stabilize production E2E flows
2026-08-13 19:51:24 +02:00
Thomas
400127b45c
fix: harden v2 custom widgets and Workshop ( #6480 )
2026-08-13 19:50:46 +02:00
Thomas
825636c4f6
fix(custom-widgets): address final v2 review feedback ( #6451 )
2026-08-13 19:49:25 +02:00
Thomas
3aa14e22ed
fix(custom-widgets): address v2 merge review ( #6446 )
2026-08-13 19:49:25 +02:00
Thomas
acdfcbb18e
feat(custom-widgets): complete Custom JSX v2 ( #6390 )
2026-08-13 19:48:57 +02:00
Thomas
3a1245cbc5
fix(custom-widgets): fix v2 editor crash and definition-not-found race ( #6377 )
2026-08-13 19:47:16 +02:00
Thomas
83e3b22f9a
feat(custom-widgets): Full Mantine v9 + SubFetch support for custom JSX ( #6304 )
2026-08-13 19:45:44 +02:00
Thomas and copilot-swe-agent[bot]
7a089ab177
feat: community workshop for custom widgets and CSS ( #5984 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-08-13 19:44:18 +02:00
Thomas
ff2cdecc86
feat: rewrite image picker ( #6556 )
...
* feat: rewrite image picker
* style: auto-fix lint and format
* fix: address image picker review
* fix: preserve unicode icon searches
* test: stabilize custom widget login
* fix: suggest image searches only on create
2026-08-11 14:49:52 +02:00
Thomas
464d98e124
feat(settings): unify manage and board settings into a single save form ( #6541 )
2026-08-08 15:33:38 +02:00
Thomas
b32ad82850
perf: cut cold route compilation and unblock preview images ( #6441 )
2026-08-07 20:24:26 +02:00
Thomas
9168f8114b
fix(manage): hide sidebar nav items from unprivileged users ( #6236 )
2026-07-23 02:01:10 +02:00
Thomas
cf0e469465
feat: restrict apps management to board modifiers ( #6425 )
2026-07-21 16:56:33 +02:00
Thomas
0015a6d88d
fix(immich): use thumbnail endpoint instead of original for album carousel ( #6396 )
...
* fix(immich): use thumbnail endpoint instead of original for album carousel
Switches from /api/assets/:id/original to /api/assets/:id/thumbnail to fix
HEIC image incompatibility (thumbnails are always JPEG), reduce bandwidth,
and improve loading speed.
Closes #6388
* working on immich
* Improve image proxy error handling
* fix(image-proxy): use trusted fetch response type
* docs(immich): require Asset View permission
2026-07-20 14:53:27 +02:00
Junker der Provinz
bc018e1fe0
fix(docker): disable the broken full-screen toggle on the container table ( #6374 )
2026-07-17 14:43:37 +02:00
Thomas
5e39c8813a
feat(preferences): add enableRightClickOnWidgets user preference ( #6298 )
2026-07-17 14:42:19 +02:00
Thomas
7e4cb0201b
fix(widgets): add refetchInterval to WidgetDefinition for per-widget polling ( #6352 )
2026-07-15 11:52:35 +02:00
Thomas
8e8c29979f
fix(system-disks): format absolute storage values with shared byte helper ( #6299 )
2026-07-12 14:50:58 +02:00
Thomas
576856d634
fix(beszel): add reliable live stats and filesystem UI ( #6289 )
2026-07-11 17:55:04 +02:00
Josh Preston and Thomas
33395ae226
feat(integrations): add PatchMon integration and widget ( #6119 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 17:48:43 +02:00
Nam Nguyen and Thomas
7d93df04dd
fix: add utf8 email validation support ( #6239 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 17:28:22 +02:00
Thomas
718f095cb7
fix: prevent stale persisted query cache from blocking widget data ( #6273 )
2026-07-10 17:19:24 +02:00
Nerdy Technician and Thomas
9864fed775
feat: Add Traefik Integration with dedicated widget and Add optional Icons for Gotify/Notifcation Widget (ONLY GOTIFY) ( #6206 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 16:49:24 +02:00
Thomas
1297e6c2ac
fix(query-cache): guard against undefined from superjson.parse on legacy cache entries ( #6228 )
2026-07-07 11:28:13 +02:00
Thomas
fc2c251557
feat(demo): allow mutations in demo mode via DEMO_READ_ONLY flag ( #6224 )
2026-07-07 10:01:36 +02:00
Thomas and homarr-renovate[bot]
4d42eb65e4
chore(deps): mega dependency update ( #6212 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-06 10:05:51 +02:00
Thomas
a382c75968
fix: unblock query cache mutations in demo mode and add cache buster ( #6176 )
2026-07-04 10:47:09 +02:00
Bergasha
b663dae409
fix (Calendar Widget): Add superjson serialization to query cache persister ( #6172 )
2026-07-04 08:57:49 +02:00
Thomas
f19033e0d5
feat: simplify caching — TanStack Query as single source of truth ( #6075 )
2026-07-03 16:33:03 +02:00
Thomas
f9da71a19b
fix: quick wins — calendar, about, glances, admin UX, releases, iframe, notes ( #6116 )
2026-07-01 13:57:39 +02: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
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
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
Afonso Jorge Ramos
0f66bfd6c1
fix(integrations): prevent certificate trust button from submitting the form ( #6020 )
2026-06-20 07:46:36 +02:00