Thomas Camlong
0ed5636782
chore(workshop): merge v2
2026-07-15 11:47:44 +02:00
Thomas Camlong
fd28289f40
ci(workshop): add combined deployment image
2026-07-14 19:05:13 +02:00
Thomas
06f1877ae1
Merge pull request #6282 from homarr-labs/docs/update-helm-docs
...
docs(helm): update chart installation page
2026-07-13 18:11:10 +02:00
homarr-renovate[bot]
269dadee8d
fix(deps): update dependency swiper to ^14.0.2 ( #6313 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-12 18:09:11 +00:00
Thomas
8e8c29979f
fix(system-disks): format absolute storage values with shared byte helper ( #6299 )
2026-07-12 14:50:58 +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
github-actions[bot]
34bd574354
docs(helm): Update Helm chart documentation
2026-07-10 20:32:11 +00: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
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
a2cf2d6cff
Update Helm chart documentation ( #6261 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-10 17:33:35 +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
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
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
Josh Preston
65ba866239
feat: add Synology integration support for health/system monitoring ( #6121 )
2026-07-09 18:23:21 +02:00
Thomas and ajnart
260b167134
fix: context menu refresh stays open with loading spinner, cache age reacts to refetch
...
* fix: context menu refresh stays open with loading spinner, cache age reacts to refetch
* style: auto-fix lint and format
* refactor: pass isFetching as prop to WidgetCacheAge to avoid duplicate useIsFetching
---------
Co-authored-by: ajnart <ajnart@users.noreply.github.com >
2026-07-07 18:39:34 +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 Camlong
31288dcbfe
fix(docs): update Algolia crawler config with exclusion patterns and ignoreCanonicalTo
2026-07-07 10:08:24 +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 Camlong
ae2f05c834
fix(docs): sitemap priorities, exclude category redirects, remove trailingSlash
2026-07-07 09:57:32 +02:00
ajnart
89260b8754
chore(workshop): merge latest dev
2026-07-06 10:20:41 +02:00
Thomas
2e8fddd29f
fix(docs): fix docs build — MDX acorn error and CSS @import ordering ( #6217 )
2026-07-06 10:14:36 +02:00
Thomas and Releases Homarr
a9ed95856a
fix(layout): raise AppShellHeader z-index above Indicator dots ( #6218 )
...
Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com>
2026-07-06 10:13:54 +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
ajnart
8bf2171eaa
chore(workshop): merge latest dev
2026-07-06 02:34:29 +02:00
ajnart
420633f125
Merge remote-tracking branch 'origin/feat/widget-store' into feat/widget-store
2026-07-06 02:31:42 +02:00
ajnart
54871bf22e
fix(workshop): use shared dayjs formatting
2026-07-06 02:31:22 +02:00
Thomas
a3df31ff05
Revise Immich API key permissions in documentation
...
Updated API key permissions for Immich integration documentation.
2026-07-04 21:49:08 +02:00
homarr-renovate[bot]
0f8a86fdde
fix(deps): update tailwindcss monorepo to ^4.3.2 ( #6190 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-04 14:55:47 +00:00
Thomas
a382c75968
fix: unblock query cache mutations in demo mode and add cache buster ( #6176 )
2026-07-04 10:47:09 +02:00
copilot-swe-agent[bot]
e6f8174a44
fix(workshop): encode screenshot filenames in URLs and stabilize paste effect deps
2026-07-04 07:18:18 +00:00
Bergasha
b663dae409
fix (Calendar Widget): Add superjson serialization to query cache persister ( #6172 )
2026-07-04 08:57:49 +02:00
ajnart
8938cb6cf7
Merge remote-tracking branch 'origin/feat/widget-store' into feat/widget-store
2026-07-03 22:59:44 +02:00
ajnart
2fb92b7816
fix(workshop): harden store auth refresh
2026-07-03 22:59:08 +02:00
copilot-swe-agent[bot]
cff2e08b92
docs: apply reviewer wording suggestion for workshop safety warning
2026-07-03 20:53:27 +00:00
ajnart
f1e4866a8b
fix(workshop): resolve remaining review feedback
2026-07-03 22:51:46 +02:00
ajnart
b0429f9287
fix(workshop): address review feedback and merge dev
2026-07-03 22:45:05 +02:00
homarr-renovate[bot]
9252fdc139
fix(deps): update dependency postcss to ^8.5.16 ( #6169 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-07-03 16:36:25 +00:00
Thomas
f19033e0d5
feat: simplify caching — TanStack Query as single source of truth ( #6075 )
2026-07-03 16:33:03 +02: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
Thomas and github-actions[bot]
7e58858353
feat(widgets): right-click context menu with auto-generated toggle actions ( #6126 )
...
* docs(helm): Update Helm chart documentation
* 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
* style: auto-fix lint and format
* 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
* style: auto-fix lint and format
* 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
* style: auto-fix lint and format
* chore: revert unrelated sitemap change from auto-fix
* style: auto-fix lint and format
* 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.
* style: auto-fix lint and format
* fix: use explicit React type imports instead of global namespace
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-30 18:10:08 +02:00
9ed55d57dd
Main ( #6138 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com>
2026-06-30 17:52:37 +02:00
darbyjack
f66469d797
feat(docs): addd in documentation for archiveteam warrior
2026-06-28 15:45:52 -05:00
euduardo
db3d58821e
feat(widgets): show calendar events on hover with pin on click ( #2637 ) ( #6081 )
...
feat(widgets): show calendar events on hover with pin on click (#2637 )
docs(widgets): update calendar interactions section for hover behavior
2026-06-27 22:49:26 +02:00
Thomas Camlong
e687bc8c92
fix: address review - paginate GH releases, GitLab tag_name, docs, test
...
- Paginate GitHub releases via api.paginate to avoid missing tags beyond page 1
- Use tag_name instead of name for GitLab releases (name is a display label)
- Remove ArchiveTeam Warrior from widget-configured note in docs
- Fix test assertion to use objectContaining for error shape with message
2026-06-27 13:02:58 +02:00
Thomas Camlong
77884a3179
feat: add per-widget secret storage for release provider authentication
...
Adds encrypted token storage per release widget so users can authenticate
with GitHub, GitLab, Docker Hub, etc. without needing full integration setup.
- New `widget_secret` table (all 3 DB drivers) keyed by (itemId, kind)
- tRPC router with setSecret/deleteSecret/getConfiguredKinds (board modify access required)
- Releases router injects decrypted tokens into provider requests (board view access required)
- Tokens only used for repos matching widget's stored configuration (prevents proxy abuse)
- Provider auth: GitHub (Octokit auth), GitLab (PRIVATE-TOKEN), Docker Hub (Bearer),
GHCR (registry token), npm (Bearer), Codeberg (token header)
- UI: "Provider Tokens" section in widget editor with PasswordInput per provider
2026-06-27 10:57:13 +02:00