Thomas and Manuel
dade477b32
feat(seed): add demo mode with pre-seeded user ( #5739 )
...
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com >
2026-05-21 16:08:46 +02:00
Thomas Camlong
9e55f55c58
Merge branch 'dev' into feat/docker-logs
...
Resolve docker.ts conflict by keeping dev improvements (host field,
bestMatch icons, Promise.allSettled with logging, Podman-safe stats)
alongside container log streaming and decode utilities.
2026-05-21 14:27:28 +02:00
Thomas Camlong
379dc8f407
feat(docker): replace logs modal with dedicated xterm page
...
Address PR review feedback by moving container logs to a full-page viewer
using xterm (matching /manage/tools/logs), with per-row actions for better
UX when browsing long container lists. Harden log streaming with multiplex
decode fallbacks, stream cleanup on parse errors, and decode unit tests.
2026-05-21 14:18:21 +02:00
Thomas Camlong
3da104256f
feat(i18n): add onboarding tour copy for manage and board flows
...
Add per-page management tour strings and update board tour descriptions.
2026-05-20 09:43:00 +02:00
Thomas Camlong
8e6f31e92a
chore(ui): import mantine onboarding tour styles
...
Register onboarding tour stylesheet and align lockfile with Mantine v9.
2026-05-20 09:42:42 +02:00
Thomas Camlong
acd248cca2
feat(api): add onboarding tour status tRPC endpoints
...
Expose getTourStatus, completeTour, and resetTours for persisting
per-user management and board tour completion.
2026-05-20 09:42:42 +02:00
Thomas Camlong
2190436d9f
feat(db): add user onboarding tour completion columns
...
Persist completedManageTour and completedBoardTour on the user table
with renamed migrations across sqlite, mysql, and postgresql.
2026-05-20 09:42:36 +02:00
Thomas Camlong
48d157b4f4
Merge branch 'renovate/major-mantine-monorepo' into feat/app-tour
2026-05-19 16:21:46 +02:00
Thomas Camlong
f773b4a15e
wip
2026-05-19 16:21:32 +02:00
Thomas Camlong
cb5b73ddbd
chore: migrate to mantine v9
...
Followed the migration guide
2026-05-19 14:58:51 +02:00
Meier Lukas
7cd30b640c
fix(docker): improve icon matching ( #5693 )
...
* fix(docker): improve icon matching
* fix: unused import
2026-05-18 21:45:33 +02:00
Austin
e9142c0dbc
fix(downloads-widget): increase name column default width ratio
2026-05-18 21:44:47 +02:00
StrandedTurtle and Meier Lukas
7a1272146c
fix(tracearr): support absolute image urls ( #5654 )
...
* Update base URL handling for tracearr integration
* fix: remove unnecessary prefix from bcrypt hashing
* refactor: add is-absolute-url check
* test: add unit tests
---------
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-18 21:39:01 +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 Camlong
545a10ab20
fix: remove timetable from defaultWidgetConfigs
2026-05-16 11:39:43 +02:00
Thomas
dd3cb3956d
Merge branch 'dev' into feat/add-integration-from-dashboard
2026-05-16 11:38:11 +02:00
Meier Lukas
4aa43ae27a
Merge branch 'dev' into beta [skip-ci]
2026-05-15 19:25:38 +02:00
Thomas Camlong
6364e4181b
fix(onboarding): add error recovery for setupIntegrations failure
...
If setupIntegrations rejects, fall back to the select phase instead
of leaving the user stuck on an infinite loading screen. Also fix
OpenCollective bookmark icon to use dashboard-icons CDN SVG for
consistency with other bookmark icons.
2026-05-14 18:20:19 +02:00
Thomas Camlong
c8ff718778
fix(definitions): skip timetable widget from default onboarding dashboard
...
The SBB timetable widget is too niche to include by default during
onboarding. Add it back to defaultWidgetConfigs with skip: true so
it won't be placed automatically.
2026-05-14 18:16:29 +02:00
Thomas Camlong
c3523adfd5
feat(onboarding): add skip button to integration configuration step
...
Allow skipping individual integrations during onboarding without
filling in the form. Adds an optional onSkip prop to NewIntegrationForm
that advances to the next integration or finishes setup.
2026-05-14 18:08:23 +02:00
Thomas Camlong
904bef50d8
fix(ui): use inline vars resolver instead of Modal.extend
...
Modal.extend() is not available at module evaluation time in the
Next.js/Turbopack ESM context, causing a runtime TypeError. Define
the vars resolver as a plain object in createTheme's components key.
2026-05-14 17:00:26 +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
Thomas Camlong
34500366b4
fix(ui): add custom xxl modal size to prevent overflow on small screens
...
Hardcoded size: 1200 could overflow on narrow viewports. Add a custom
"xxl" size (75rem) to the Mantine Modal theme via a vars resolver.
Mantine caps modal width at 100vw so it naturally adapts on mobile.
Use "xxl" in item-select, app-select, and integration-select modals.
2026-05-14 16:54:12 +02:00
Thomas Camlong
9c0e73922d
fix(i18n): add translation keys for integration grid categories and widget counts
...
Category labels and widget count badges in the integration grid were
hardcoded English strings. Add proper i18n keys under integration.grid
and integration.category so they can be translated.
2026-05-14 16:53:53 +02:00
Thomas Camlong
8fc758721c
fix(definitions): correct featured integrations and default configs
...
- Remove unused timetable skip entry from defaultWidgetConfigs
- Use "seerr" instead of "jellyseerr" in featuredIntegrations
- Add "Support Homarr" OpenCollective link to defaultBookmarkApps
2026-05-14 16:53:47 +02:00
Meier Lukas
ab867a9e50
chore: remove temporary ts-expect-error
2026-05-10 10:40:29 +02:00
homarr-crowdin[bot]
968338aa97
chore(lang): updated translations from crowdin ( #5685 )
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-05-10 10:38:59 +02:00
Meier Lukas
3a8abe4415
chore(docs): update sitemap
2026-05-08 23:48:31 +02:00
Meier Lukas
6feb37dfd4
Merge branch 'main' into next
2026-05-08 23:46:21 +02:00
Meier Lukas
756e8d1724
feat(qbittorrent): add api-key support ( #5677 )
2026-05-08 20:08:37 +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
036f6aa185
chore(deps): update dependency recharts to v3 ( #4302 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com >
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-08 15:02:52 +02:00
homarr-crowdin[bot] and Meier Lukas
12a1bd7e2e
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>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-08 13:54:36 +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
homarr-crowdin[bot] and Meier Lukas
a9ad991892
chore(lang): updated translations from crowdin ( #5623 )
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-07 21:04:10 +02:00
Meier Lukas
3183914a15
fix(apps): creation on the fly broken ( #5605 )
2026-05-07 20:59:12 +02:00
Meier Lukas
62be81ea60
fix(lang): portuguese is linked to brazilian portuguese on crowdin ( #5622 )
2026-05-07 20:54:11 +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
Kyle and Thomas
831b6221fd
feat: add auto/system appearance mode + fix dark mode system resources charts ( #5492 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-05-07 16:28:37 +00: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
Meier Lukas
0937555d49
feat(entity-state): add data attributes for custom-css styling ( #5655 )
2026-05-07 16:54:57 +02:00
Meier Lukas
b07a4a0f3e
fix(update-checker): hide prereleases on non-prerelease versions ( #5645 )
2026-05-06 21:23:14 +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
homarr-crowdin[bot] and Meier Lukas
b6d23e7546
chore(lang): updated translations from crowdin
...
* chore(lang): update 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>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-05-02 01:32:16 +00: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