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
homarr-renovate[bot]
68f8e8146b
chore(deps): update dependency @scalar/api-reference-react to ^0.9.51 ( #6243 )
...
* chore(deps): update dependency @scalar/api-reference-react to ^0.9.51
* style: auto-fix lint and format
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-07 13:23:56 +00: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
82858ecd75
fix(forms): break AppForm infinite render loop on edit page ( #6198 ) ( #6215 )
2026-07-06 10:03:22 +02:00
homarr-crowdin[bot]
0e365ed53c
chore(lang): updated translations from crowdin
...
* chore(lang): update translations from crowdin
* chore(lang): update translations from crowdin
---------
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-07-06 02:04:20 +00:00
homarr-crowdin[bot]
5b91687912
chore(lang): updated translations from crowdin
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-07-05 01:57:18 +00:00
Thomas
885be1b9a1
fix(widget-secrets): add missing widget_secret migration and add error notifications ( #6192 )
...
* fix(widget-secrets): add missing widget_secret migration and add error notifications
The widget_secret table was defined in all three Drizzle schema files but
no SQL migration was ever generated to create it, causing setSecret to
fail with 'no such table: widget_secret' in production (drizzle-kit push
in development hid the problem).
- Add migration SQL for sqlite (0040), mysql (0042), postgresql (0008)
- Update journal entries for all three dialects
- Add onError handlers to setSecret/deleteSecret mutations so errors
are shown as red notifications instead of silently swallowed
Fixes #6186
* fix(widget-secrets): add missing drizzle snapshots for merge-url and widget_secret migrations
The merge_custom_widget_url migration (0039/0041/0007) was committed
without a corresponding snapshot, breaking drizzle-kit generate for
all future migrations. This adds:
- 0039/0041/0007 snapshots reflecting the merge-url changes
(base_url+endpoint -> url, add enabled column)
- 0040/0042/0008 snapshots reflecting the widget_secret table
All snapshot chains now match journal entries (41/43/9 entries each).
2026-07-04 17:57:40 +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
homarr-crowdin[bot]
7635031fdf
chore(lang): updated translations from crowdin ( #6143 )
2026-07-04 08:58:20 +02:00
homarr-renovate[bot]
f914cc26be
chore(deps): update mantine monorepo to ^9.4.1 ( #6165 )
...
* chore(deps): update mantine monorepo to ^9.4.1
* style: auto-fix lint and format
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-03 20:15:37 +00:00
Thomas
f19033e0d5
feat: simplify caching — TanStack Query as single source of truth ( #6075 )
2026-07-03 16:33:03 +02:00
Thomas
a5ec880eec
fix(immich): v3 API compatibility — use searchAssets for album assets, drop deviceAssetId ( #5977 )
2026-07-03 15:59:08 +02:00
Thomas Camlong
2c1a5c92e8
chore(i18n): revert non-English translations to dev
...
Keep translation changes in en.json only; Crowdin handles other locales.
2026-07-01 17:25:43 +02:00
ajnart
0425bec2ca
style: auto-fix lint and format
2026-07-01 13:00:06 +00:00
Thomas Camlong
06da6191cc
Merge origin/dev into feat/widget-only-integration-refactor
...
Resolve integration.ts conflict (keep widget-only documentationUrl: null, take defaultUrl from dev) and regenerate pnpm-lock.yaml.
2026-07-01 14:57:00 +02:00
Thomas
f9da71a19b
fix: quick wins — calendar, about, glances, admin UX, releases, iframe, notes ( #6116 )
2026-07-01 13:57:39 +02:00
ajnart
d670b69396
fix(timetable): restore station search by removing disabled query guard
...
The refactor from integration-based to option-based config changed the
useQuery enabled condition from 'integrationIds.length > 0' (always true
when an integration was linked) to 'query.length > 0'. The combination
of the debounced search value and the enabled toggle inside the nested
useOptions callback caused the query to never fire, making stations
unsearchable in the edit form.
Removing the enabled guard lets the query always run. The 300ms debounce
already prevents excessive requests.
2026-06-30 18:40:27 +02:00