Thomas Camlong
a6566f74c9
fix: address PR review feedback
...
- Show error notification on setup failure instead of silent reset
- Fix toggleKind stale closure by using prop array directly
- Remove duplicate translations from en-gb.json (falls back to en.json)
- Align seed board columnCount to 12 (codebase default)
- Extract shared placeAllWidgetsAsync helper to @homarr/db/queries
- Remove redundant onboardingFormSchema; reuse formSchema for both paths
- Fix lint errors (optional chain, unused imports, unnecessary conditions)
2026-05-27 15:53:14 +02:00
Thomas Camlong
309ba0590d
feat(onboarding): enhance integration setup with Docker discovery, URL templating, and API key helpers
...
Add automatic Docker container discovery during onboarding to pre-select
and pre-fill integrations. Introduce base URL templating with subdomain/port
modes, API key settings path links, and a curated onboarding list that
hides niche integrations (GitHub, npm, Docker Hub, etc.). Prevent duplicate
widget seeding and remove the timetable widget from defaults.
2026-05-27 14:36:04 +02:00
Thomas Camlong
e714c96172
chore: fix formatting
2026-05-18 15:49:10 +02:00
Thomas Camlong
5bc88eb4ee
fix: MissingSecretError type mismatch in onboard createIntegration mutation
2026-05-18 15:19:11 +02:00
Thomas
dd3cb3956d
Merge branch 'dev' into feat/add-integration-from-dashboard
2026-05-16 11:38:11 +02:00
Thomas Camlong
bef275804c
fix(api): refactor onboard-router widget placement and step advancement
...
- Extract placeWidgetAsync into a standalone function with a
PlaceWidgetContext parameter for clearer state management.
- Fix widget skip logic: use config?.skip instead of !config || config.skip
so integration-specific widgets without an explicit defaultWidgetConfigs
entry are still placed with default 2x2 sizes.
- Add createIntegration mutation for onboarding (no app linking or
search engine creation needed during init).
- Fix nextOnboardingStepAsync call: pass undefined instead of "start"
to advance naturally without resetting to the beginning.
- Add early return when no board is found in setupIntegrations.
2026-05-14 17:00:20 +02:00
Meier Lukas
6feb37dfd4
Merge branch 'main' into next
2026-05-08 23:46:21 +02:00
Ashton Batty and Meier Lukas
56af6bcaf0
feat(docker): Podman compatibility, multi-socket support, per-host error isolation ( #5425 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-08 17:31:56 +02:00
44bd16d677
fix(calendar): keep working integrations when one fails ( #5629 )
...
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-07 22:02:21 +02:00
Thomas
6520dedf1c
Merge branch 'dev' into feat/add-integration-from-dashboard
2026-05-07 19:10:03 +02:00
Thomas and Meier Lukas
b5c316b825
feat(spotlight): rework !bang search UX ( #4813 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-07 18:38:40 +02:00
43cc68bdd4
feat: add Umami Analytics integration and widget ( #5362 )
...
Co-authored-by: Josh G <febrile42@users.noreply.github.com >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-05-07 17:50:58 +02:00
Thomas
5a0ba98298
Merge branch 'dev' into feat/add-integration-from-dashboard
2026-05-04 12:40:58 +02:00
homarr-renovate[bot] and Meier Lukas
a183339063
chore(deps): update dependency eslint to v10 ( #5038 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-02 21:41:16 +02:00
Meier Lukas
7561462594
Merge branch 'main' into next
2026-05-01 22:30:33 +02:00
Meier Lukas and Copilot
a1aa5505a3
perf(memory): combine 3 node processes into one ( #5600 )
...
Co-authored-by: Copilot <copilot@github.com >
2026-05-01 16:35:11 +02:00
Meier Lukas
e8edc203b6
fix: migrate from node-cron to croner ( #5407 )
2026-05-01 16:21:38 +02:00
Thomas Camlong
b8b2097551
fix(onboarding): fix nextOnboardingStepAsync
2026-05-01 10:29:32 +02:00
Thomas Camlong
62d571621f
chore: format
...
fix(lint): remove empty fragment and redundant undefined argument
chore: format
2026-05-01 10:23:48 +02:00
Thomas Camlong
9e3b4955b9
feat(api): add integrations onboarding step with dashboard population
...
Add "integrations" step to onboarding flow between settings and finish.
Add setupIntegrations mutation that reads existing integrations from DB,
populates the dashboard with matching widgets (respecting config-driven
sizes/options/skip), places app widgets for each app, and creates a
bookmarks widget with seeded default apps.
2026-05-01 09:58:41 +02:00
Meier Lukas and Copilot
ce8e330c82
fix(openapi): openapi document empty ( #5579 )
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-29 23:29:42 +02:00
Meier Lukas
2454cac7be
fix(security): remove salt from database ( #5412 )
2026-04-10 20:48:20 +02:00
7879b31630
feat: Anchor integration and Anchor Note widget ( #5040 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-04-10 20:43:43 +02:00
Kyle and Meier Lukas
22d599c0cf
feat: speedtest tracker integration ( #5363 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-04-10 19:04:42 +02:00
Meier Lukas
6ec058c835
feat(rss-feed): add optional poster ( #5452 )
2026-04-10 18:11:20 +02:00
Meier Lukas
faffb818f9
feat(rss-feed): add periodic live updates ( #5449 )
2026-04-09 22:45:44 +02:00
Meier Lukas
abb2dfc92a
feat(integrations): add search.ch integration with timetable widget ( #5180 )
2026-04-03 20:23:15 +02:00
homarr-renovate[bot] and Meier Lukas
2b4c83dcca
fix(deps): update dependency zod to ^4.3.5 - abandoned ( #4803 )
...
* fix(deps): update dependency zod to ^4.3.5
* fix: omit can not be used with refine
* fix: convert intersection to object due to trpc-openapi issue
* fix: remove omit after refine
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-03-30 23:11:14 +02:00
Matt Van Horn and Matt Van Horn
1639da5779
fix: handle null ports in Docker container table ( #5313 )
...
When Docker API returns `null` for container ports (instead of `[]`),
the Docker management page crashes. Added optional chaining on
`ports?.length` to handle this case.
Fixes #5311
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com >
2026-03-27 20:04:03 +01:00
Meier Lukas
1938798ba1
Merge commit from fork
2026-03-21 16:07:05 +01:00
StrandedTurtle
f68600150a
feat: Tracearr integration ( #5060 )
2026-03-13 19:19:43 +01:00
Meier Lukas
ba9c3f3e27
fix(boards): duplication of boards fails with postgresql / mysql ( #5228 )
2026-03-13 16:32:48 +01:00
Manuel
cdd90b8aa0
feat: add immich integration and widget ( #5165 )
...
* feat: add immich integration and widget
* feat: use sdk
2026-03-07 09:39:31 +01:00
homarr-releases[bot] and Meier Lukas
3322e82aab
chore: update bug report template ( #5136 )
...
* chore: update bug report template
* fix: ci issues
* chore: update docs sitemap
---------
Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-02-27 21:21:49 +01:00
Meier Lukas
91fc5a5c74
Merge commit from fork
...
* fix(security): restrict access to integrations to authenticated users
* chore: github is broken
2026-02-27 19:24:24 +01:00
Meier Lukas
fce970c706
Merge commit from fork
...
* fix(security): restrict rss-feed urls based on authentication
* fix: lint issues
* fix: incrase the limit to 100
2026-02-27 19:13:43 +01:00
Manuel and Meier Lukas
91846bc000
feat: add glances integration ( #5102 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-02-27 16:57:29 +01:00
Meier Lukas and ajnart
8811af5e6e
Merge commit from fork
...
* fix(security): resolve ssrf issue with simple ping
* refactor: improve testability of app-access-control and fix tests
* fix: unnecessary space
Co-authored-by: ajnart <thomas@ajnart.fr >
---------
Co-authored-by: ajnart <thomas@ajnart.fr >
2026-01-30 18:31:13 +01:00
Rhiz3K and Meier Lukas
81dac58005
feat(integrations): add Coolify integration and widget ( #4789 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-01-23 19:09:53 +01:00
Meier Lukas
1623fbaaeb
perf(memory): lazy routers ( #4868 )
2026-01-19 22:37:05 +01:00
a2a34124ae
feat(users): add libravatar / gravatar support ( #4277 )
...
Co-authored-by: HeapReaper <kelivn@heapreaper.nl >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-01-09 13:10:52 +01:00
Matti Airas and Claude Opus 4.5
0dc61a88b8
feat(auth): extend API key authentication to tRPC endpoints ( #4732 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-05 18:43:17 +01:00
homarr-renovate[bot] and Meier Lukas
f0a2551fdf
fix(deps): update dependency typescript-eslint to ^8.51.0 ( #4795 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-01-03 23:17:05 +01:00
Manuel and Meier Lukas
9b0dd6d6ce
feat: unraid integration ( #4439 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-01-02 19:54:47 +01:00
Meier Lukas
5a57115ca0
feat(http): add proxy support ( #4721 )
2025-12-25 11:32:14 +01:00
Meier Lukas
6f0dbae121
refactor(http): move to core package ( #4690 )
2025-12-19 16:37:21 +01:00
Meier Lukas
2b971b9392
refactor(certificates): move to core package ( #4686 )
2025-12-19 09:49:12 +01:00
Meier Lukas
d348abfe4a
refactor(logs): move to core package ( #4586 )
2025-12-16 23:37:44 +01:00
Meier Lukas
d9cc35b985
fix(media-requests): incorrect availability mapping ( #4520 )
2025-11-21 19:05:51 +01:00
castielwaverly
e0526c5ea7
fix(releases-widget): Search multiple docker hub pages for releases ( #4158 )
2025-10-29 19:33:50 +01:00