Thomas Camlong
39bef6dc00
feat(api): expose board CRUD via REST/OpenAPI and add addItem endpoint
...
Annotate getAllBoards (GET /api/boards), createBoard (POST /api/boards),
and deleteBoard (DELETE /api/boards/{id}) with OpenAPI and MCP metadata.
Add new board.addItem mutation (POST /api/boards/items) that places a
widget in the first empty section at the next free grid position, with
integration ID validation and full-board error handling.
Closes #5867
2026-06-09 00:18:25 +02:00
Thomas Camlong
e1cf9f167c
feat(api): add board summary and addItem validation schemas
...
Add boardSummarySchema for OpenAPI output on getAllBoards and
addItemToBoardSchema for the new addItem mutation input.
2026-06-09 00:18:25 +02:00
ajnart
acf8d572da
style: auto-fix lint and format
2026-06-08 21:39:41 +00:00
Thomas Camlong
7500128354
feat(mcp): rename sidebar entry from "API" to "API & MCP"
2026-06-08 23:38:31 +02:00
Thomas Camlong
4870a0d9ac
feat(mcp): replace tools table with accordion grouped by namespace
...
Replace flat table with a separated Accordion that groups tools by
namespace (app, docker, integration, etc.). Each category shows a tool
count badge and expands to show tools with GET/POST type badges and
descriptions. Remove troubleshooting section and divider.
2026-06-08 23:38:23 +02:00
Thomas Camlong
8848949d9c
refactor(mcp): extract Scalar CSS overrides to stylesheet
...
Move inline CSS template literal to a proper scalar-theme.css file
imported as a side-effect stylesheet. The overrides target Scalar's
.light-mode/.dark-mode selectors so they work as global CSS, removing
the need for the customCss string prop.
2026-06-08 23:38:15 +02:00
Thomas Camlong
de68b64321
refactor(mcp): use shared tool extraction helper and clean imports
...
Replace deep relative package.json import with existing
getPackageVersion() helper. Extract extractToolsFromProcedures into
a shared _extract-tools.ts that silences expected trpc-to-mcp warnings
for z.void() procedures. Remove dead eslint-disable comments.
2026-06-08 23:38:06 +02:00
Thomas Camlong
4ed264c318
refactor(mcp): replace as unknown as globalThis casts with declare global
...
Use proper TypeScript `declare global` + `??` assignment pattern to
initialize HMR-safe singletons without double casts or non-null
assertions. Also removes dead eslint-disable comments (oxlint is used).
2026-06-08 23:37:58 +02:00
Thomas Camlong
cdb4d683fd
Merge remote-tracking branch 'origin/dev' into feat/add-mcp-server
...
# Conflicts:
# package.json
# pnpm-lock.yaml
# pnpm-workspace.yaml
2026-06-08 22:30:08 +02:00
Thomas and homarr-releases[bot]
69412f2d10
chore(release): 1.64.0 [skip ci] ( #5902 )
...
Co-authored-by: homarr-releases[bot] <175486441+homarr-releases[bot]@users.noreply.github.com>
2026-06-08 22:25:40 +02:00
Afonso Jorge Ramos
f6d5f97933
fix(integrations): support truenas json-rpc api, certificate trust, and api key auth ( #5861 )
...
* chore(integrations): add ws dependency for the truenas client
* feat(definitions): allow api key authentication for truenas
* fix(integrations): connect to truenas over trusted-certificate websocket with protocol autodetection
* test(integrations): cover truenas protocol detection and authentication
* refactor(integrations): avoid shorthand index variable in truenas mapping
* feat(integrations): add a websocket url helper to the integration base
* refactor(integrations): extract truenas connection handling into a client
2026-06-08 22:20:42 +02:00
homarr-renovate[bot]
a447a9f615
chore(deps): update dependency axios@>=1.0.0 <1.8.2 to >=1.17.0 ( #5897 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-08 14:15:50 +00:00
homarr-renovate[bot]
87d3f6a0a1
chore(deps): update dependency @gfazioli/mantine-onboarding-tour to ^4.0.4 ( #5896 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-08 09:30:40 +00:00
Thomas Camlong
311fd2356a
fix(mcp): harden MCP route security and code quality
...
- Sanitize error messages to prevent leaking internal details
- Add isError flag to tool-not-found and no-caller responses
- Guard against undefined procedure before invocation
- Clear auth rate limit on successful authentication
- Move setInterval timers to globalThis to prevent dev hot-reload leaks
- Add try/catch + logging to OAuth token exchange
- Deduplicate auth error responses with helper function
- Replace ternary operators with lookup tables in UI
- Remove console.error monkey-patch for trpc-to-mcp warnings
- Use lookup table for media request answer actions
2026-06-07 01:45:28 +02:00
homarr-renovate[bot]
f2705eeb57
chore(deps): update dependency oxfmt to ^0.53.0 ( #5883 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 23:12:23 +00:00
homarr-renovate[bot]
ac37d2c73f
chore(deps): update react monorepo ( #5886 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 21:13:36 +00:00
Thomas Camlong
873444fe48
feat(mcp): add Model Context Protocol server with AI integration
2026-06-06 22:52:51 +02:00
homarr-renovate[bot]
e00ea624cd
chore(deps): update nextjs monorepo to v16.2.7 ( #5885 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 19:32:30 +00:00
homarr-renovate[bot]
20b62c42e3
chore(deps): update dependency rollup@>=4.0.0 <4.22.4 to >=4.61.0 ( #5878 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 13:54:21 +00:00
homarr-renovate[bot]
59971991c7
chore(deps): update dependency vite@>=5.0.0 <=5.4.18 to >=8.0.16 ( #5880 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 11:36:28 +00:00
homarr-renovate[bot]
a629681ae5
chore(deps): update vitest monorepo to ^4.1.8 ( #5879 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 09:34:48 +00:00
homarr-renovate[bot]
572d5fb5ec
chore(deps): update dependency vite@>=5.0.0 <=5.4.18 to >=8.0.15 ( #5877 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 07:01:54 +00:00
Thomas and homarr-releases[bot]
91a1858743
chore: merge main into dev
...
Co-authored-by: homarr-releases[bot] <175486441+homarr-releases[bot]@users.noreply.github.com>
2026-06-06 07:47:59 +02:00
homarr-renovate[bot]
f00d3627c9
chore(deps): update dependency @gfazioli/mantine-onboarding-tour to ^4.0.3 ( #5873 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-05 18:04:10 +00:00
homarr-releases[bot]
7760e01ccb
chore: update bug report template ( #5821 )
...
Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com>
2026-06-05 17:47:57 +00:00
Releases Homarr
8a1ead3674
chore(release): 1.64.0 [skip ci]
v1.64.0
2026-06-05 17:35:36 +00:00
homarr-releases[bot]
9c05f44916
chore(release): automatic release v1.64.0
2026-06-05 17:34:47 +00:00
Thomas Camlong
efd37dca93
fix(db): log when UNSAFE_ENABLE_MOCK_INTEGRATION is enabled during seeding
...
Warn on startup seed when mock integration env flag is set, matching demo mode visibility.
2026-06-05 18:43:33 +02:00
Thomas Camlong
796c679140
chore: merge main into dev
2026-06-05 18:42:31 +02:00
homarr-update-contributors[bot]
76fd4c5fb1
chore: update contributors ( #5871 )
2026-06-05 18:08:47 +02:00
Thomas Camlong
68f24e34d5
fix: disable onboarding tours when demo mode is enabled
...
Return completed tour status in demo mode so board and manage tours do not start for demo users.
2026-06-05 18:02:08 +02:00
homarr-update-contributors[bot]
22d7ebab50
chore: update integrations list readme ( #5872 )
...
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2026-06-05 15:45:46 +00:00
Thomas Camlong
4f5f3e14a1
fix: sync docs sitemap and remove stale coolify ts-expect-error
2026-06-05 17:39:03 +02:00
Thomas and copilot-swe-agent[bot]
dbf021e04a
feat(docker): add container logs modal and stats columns ( #4807 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-05 16:57:26 +02:00
Copilot and Thomas
cc24f070db
fix: redirect to login after credentials logout instead of crashing on current page ( #5819 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-06-05 16:56:24 +02:00
Thomas
0b663a7fc6
feat(onboarding): guided management and board tours ( #5756 )
2026-06-05 16:54:50 +02:00
Afonso Jorge Ramos
0dc2558faf
feat: add PeaNUT integration and UPS monitoring widget ( #5862 )
2026-06-05 16:51:09 +02:00
Thomas
dd7a4908a3
feat(onboarding): enhance integration setup with Docker discovery and URL templating ( #5607 )
2026-06-05 16:50:35 +02:00
Thomas
0a6467979a
feat: add comprehensive demo mode with mock integrations ( #5870 )
2026-06-05 16:36:45 +02:00
Thomas and Meier Lukas
25d964a197
refactor(spotlight): registry-driven CMDK preferences ( #5817 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-06-05 16:26:48 +02:00
Thomas
3d3e3059a9
feat: media request search as first-class spotlight mode ( #5823 )
2026-06-05 16:09:14 +02:00
homarr-crowdin[bot] and Meier Lukas
9ae8cb2768
chore(lang): updated translations from crowdin ( #5863 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-06-05 13:48:42 +02:00
Thomas
99346f288b
feat(widgets): add in-place app editing in widget edit modal ( #5809 )
2026-06-05 12:31:50 +02:00
Thomas
41fe5928f1
fix: add bookmark widget option to toggle card borders ( #5854 )
2026-06-04 11:07:31 +02:00
homarr-renovate[bot]
6eb59d6f53
chore(deps): update tiptap monorepo to v3.24.0 ( #5858 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-04 08:58:12 +00:00
Afonso Jorge Ramos
2c6b7a818e
fix(immich): respect app color scheme in server-stats widget ( #5859 )
2026-06-04 09:50:02 +02:00
Thomas
fd10788838
fix(auth): relax password complexity requirements to suggestions-only ( #5764 )
2026-06-04 07:56:34 +02:00
Thomas
fe4598f722
fix(docker): restore container selection toolbar broken by Mantine v9 ( #5855 )
2026-06-03 10:03:37 +02:00
Thomas
a755692d81
fix(ui): restore pre-v9 light variant colors ( #5856 )
2026-06-03 06:49:38 +00:00
homarr-renovate[bot]
3ff0d72ba1
chore(deps): update dependency next-intl to v4.13.0 ( #5853 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-03 04:21:57 +00:00