ajnart
69788124c1
fix(custom-widgets): show edit-mode placeholder instead of definition not found
...
When a custom widget is added to a board in edit mode, the item only
exists in local TanStack cache (persisted on saveBoard at edit-mode
exit). The getData query fired immediately, hit the DB before the item
existed, threw NOT_FOUND, and retry was disabled so the widget stayed
on 'definition not found' until reload.
- Gate getData with !isEditMode so it only fires for persisted items
- Show an edit-mode placeholder instead of an empty box
- Add e2e regression test verifying no 'not found' before reload
2026-07-17 14:26:47 +02:00
ajnart
9c31cdce37
fix(custom-widgets): prevent editor crash on invalid v2 request manifest
...
The customJsx v2 serialize path called parseRequestManifest which threw
on invalid JSON during React render (via getInput on every keystroke),
crashing the page with Next.js 'Unexpected error' because the form had
no error boundary.
- Make parseRequestManifest defensive (try/catch -> empty array)
- Wrap CustomWidgetForm in FormErrorBoundary (defense-in-depth)
- Add unit tests for invalid manifest inputs
2026-07-17 14:26:44 +02:00
Thomas Camlong
67d146220a
test(integrations): wait for Home Assistant restart
2026-07-16 16:25:48 +02:00
Thomas Camlong
926a6856fb
test(integrations): allow recurring calendar setup
2026-07-16 14:34:07 +02:00
ajnart
c10ebbc863
style: auto-fix lint and format [skip ci]
2026-07-16 08:22:51 +00:00
Thomas
106c3bfa90
Merge branch 'dev' into v2
2026-07-16 10:21:40 +02:00
Bergasha
5144e14da4
fix(media-server): populate playback progress, transcode status, and network location for streams ( #6315 )
2026-07-15 16:27:58 +02:00
Thomas
8528d5068b
feat(media-requests): filter requests list by status and time window ( #6320 )
2026-07-15 16:27:24 +02:00
ajnart
8331a58471
style: auto-fix lint and format [skip ci]
2026-07-15 14:20:37 +00:00
ajnart
51d8a3cc53
style: auto-fix lint and format
2026-07-15 13:54:18 +00:00
Thomas Camlong
a11583feb1
Revert "style: format all files and remove coverage report step"
...
This reverts commit 446931bc0a .
2026-07-15 15:44:49 +02:00
Thomas Camlong
446931bc0a
style: format all files and remove coverage report step
2026-07-15 15:42:13 +02:00
Thomas Camlong
a2e3c5d3bc
style: fix formatting in v2 files
2026-07-15 15:34:15 +02:00
Thomas Camlong
e0de370340
Merge branch 'dev' into v2
2026-07-15 15:17:18 +02:00
Thomas
c6c4428f7d
Revert "fix(docker): report current CPU usage instead of the lifetime average" ( #6357 )
2026-07-15 14:55:18 +02:00
Thomas
3b2fc2527e
feat(custom-widgets): Full Mantine v9 + SubFetch support for custom JSX ( #6304 )
2026-07-15 14:06:02 +02:00
Thomas and homarr-renovate[bot]
0a0b3a12c9
bring dev changes to v2 ( #6353 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-15 12:16:16 +02:00
Thomas Camlong
8a7c4875bf
Revert "chore(merge): resolve v2 conflicts"
...
This reverts commit 377f2f6a20 , reversing
changes made to 7e4cb0201b .
2026-07-15 12:12:33 +02:00
Thomas Camlong
377f2f6a20
chore(merge): resolve v2 conflicts
2026-07-15 12:09:51 +02:00
Thomas and copilot-swe-agent[bot]
c69e33ac8c
feat: community workshop for custom widgets and CSS ( #5984 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-07-15 11:53:15 +02:00
Thomas
7e4cb0201b
fix(widgets): add refetchInterval to WidgetDefinition for per-widget polling ( #6352 )
2026-07-15 11:52:35 +02:00
Thomas
7887ce12c0
fix(integrations): resolve intermittent Seerr/Overseerr crashes and add query status to context menu ( #6347 )
2026-07-15 11:41:18 +02:00
Thomas
2d450239ac
fix(releases): add required octokit throttling rate limit handlers ( #6338 )
2026-07-15 11:27:32 +02:00
Thomas
03f68a0421
fix(qbittorrent): sort torrents by progress so active items appear before limit cutoff ( #6297 )
2026-07-12 14:56:24 +02:00
Bergasha
807e5eb2a9
feat(docker-widget): replace footer timestamp text with compact refresh button ( #6307 )
2026-07-12 14:51:56 +02:00
Thomas
8e8c29979f
fix(system-disks): format absolute storage values with shared byte helper ( #6299 )
2026-07-12 14:50:58 +02:00
Nerdy Technician
9f313440ac
fix(integrations): update PatchMon API key settings link ( #6302 )
2026-07-12 08:59:52 +02:00
Artur
d44bc06a93
feat(notebook): support text direction controls ( #6293 )
2026-07-12 07:58:02 +02:00
Thomas
576856d634
fix(beszel): add reliable live stats and filesystem UI ( #6289 )
2026-07-11 17:55:04 +02:00
Thomas
def3ede3bc
fix(db): restore widget_secret migration journal entries accidentally removed by #6206 ( #6288 )
2026-07-11 15:40:06 +02:00
Thomas
13c9e5e181
fix(release): repair v1.70.0 quality failures ( #6279 )
...
* fix(release): repair v1.70.0 quality failures
* style: auto-fix lint and format
2026-07-10 21:59:57 +02:00
Thomas
7a768517ef
fix(request-handler): restore media organizer build ( #6277 )
2026-07-10 18:09:05 +02:00
Thomas
4ae8d527a8
fix(releases): token not applied due to broken allowedRepoIds check ( #6276 )
2026-07-10 17:55:18 +02:00
homarr-update-contributors[bot]
05a48e2930
chore: update integrations list readme ( #6275 )
2026-07-10 17:50:02 +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
Anil K Tiwari and Thomas
9fb2e37605
feat(widgets): add missing & queued media widget for Radarr and Sonarr ( #6078 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 17:31:08 +02:00
homarr-crowdin[bot]
713fcd6f3f
chore(lang): updated translations from crowdin ( #6240 )
2026-07-10 17:30:10 +02:00
Felix-Ayush and Thomas
2c5368dd4e
feat: add Bazarr integration and subtitle status widget ( #6156 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-10 17:29:10 +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
7c152cf4fe
feat(api): expose board automation endpoints ( #6213 )
...
* feat(api): expose board automation endpoints
* style: auto-fix lint and format
* test(api): cover board settings updates
* Delete .opencode/changelog/2026-07-06.md
2026-07-10 17:27:42 +02:00
Thomas
718f095cb7
fix: prevent stale persisted query cache from blocking widget data ( #6273 )
2026-07-10 17:19:24 +02:00
Thomas
24c5d04bfa
fix(beszel): disable request handler cache for stats to make live mode work ( #6244 )
2026-07-10 17:16:23 +02:00
Thomas
0e513fffd5
feat(widgets): add per-filesystem storage chart to Beszel system stats ( #6209 )
2026-07-10 17:08:22 +02:00
Thomas
2ada1aa249
fix(qbittorrent): handle v5 stopped torrent states for pause functionality ( #6211 )
2026-07-10 16:55:20 +02:00
Junker der Provinz
af89423f66
fix(docker): report current CPU usage instead of the lifetime average ( #6249 )
2026-07-10 16:54:52 +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
bcd36b1b27
fix(integrations): sort media requests by last modified instead of creation date ( #6264 )
2026-07-10 16:46:33 +02:00
homarr-renovate[bot]
616a444e64
chore(deps): update dependency @immich/sdk to ^3.0.1 ( #6251 )
...
* chore(deps): update dependency @immich/sdk to ^3.0.1
* style: auto-fix lint and format
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-09 19:51:55 +00:00
Josh Preston
65ba866239
feat: add Synology integration support for health/system monitoring ( #6121 )
2026-07-09 18:23:21 +02:00
Thomas Vervest and Thomas
7a4de03c0e
fix(integrations): accept gluetun-latest VPN settings payload ( #6149 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-07-07 17:24:50 +02:00