Commit Graph
273 Commits
Author SHA1 Message Date
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 BattyandMeier 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
ThomasandMeier 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]andMeier 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 LukasandCopilot 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 LukasandCopilot 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
KyleandMeier 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]andMeier 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 HornandMatt 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]andMeier 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
ManuelandMeier Lukas 91846bc000 feat: add glances integration (#5102)
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2026-02-27 16:57:29 +01:00
Meier Lukasandajnart 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
Rhiz3KandMeier 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 AirasandClaude 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]andMeier 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
ManuelandMeier 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