Thomas Camlong
33293ba1cf
refactor: simplify Phase 1 infrastructure code
...
- cache-invalidation: extract isExpectedRevalidateError helper
- integration-data-cache: flatten early-return chain, extract eviction
- redis-handler: extract StoredEntry type, readStreamBody, ensureConnected
- svg-purify: single getOwnPropertyDescriptor lookup per prop
- session-scoped-providers: simplify auth flow
- retryable-loader: use function declarations
- translation/request: replace spread-in-reduce with for loop
2026-08-07 21:04:42 +02:00
Thomas Camlong
018f98e318
perf: implement Phase 1 homepage diet via Next.js Cache Components
...
P1-0: V8 heap cap (HOMARR_MAX_OLD_SPACE_SIZE, default 512MB)
P1-1: Module graph cuts
- Dynamic integration imports (55 static → lazy loaders)
- Conditional DB driver loading (only configured driver loaded)
- Replace jsdom with linkedom for SVG sanitization
- Delete eager widget barrel (55 import * as → 0)
- Extract createRetryableLoader to @homarr/common
P1-2: Enable cacheComponents + restructure root layout
- Suspense boundaries around session-dependent providers
- ColorSchemeScript replaces server-side cookie reads
- Board/manage/auth layouts wrapped in Suspense
P1-3: Cache read paths
- Cache tag registry + invalidation helpers
- Cache invalidation wired into all mutation routers
- Translation deep-merge memoized per locale
P1-4: Prerendered shells + loading.tsx files
P1-5: Shared integration data cache (60s TTL, stale-while-revalidate)
P1-6: Redis-backed Next.js cache handler (@homarr/next-cache-handler)
P1-7: Redis optional (memory channel fallback), TTL on pubSub:last:*,
Redis clients consolidated from 6 to 2
2026-08-07 18:59:47 +02:00
homarr-renovate[bot] and Meier Lukas
f55d8a9c2e
fix(deps): update dependency next-intl to v4 ( #2580 )
...
* fix(deps): update dependency next-intl to v4
* fix: typecheck issue
* refactor: implement improvements for next-intl v4
* fix: typecheck issues
* fix: typecheck issue
---------
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2025-03-12 18:37:43 +01:00
homarr-crowdin[bot] and Meier Lukas
86cd1017b9
chore(lang): updated translations from crowdin ( #1612 )
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2024-12-05 07:00:41 +01:00
Meier Lukas
326b769c23
feat: add server settings for default board, default color scheme and default locale ( #1373 )
...
* feat: add server settings for default board, default color scheme and default locale
* chore: address pull request feedback
* test: adjust unit tests to match requirements
* fix: deepsource issue
* chore: add deepsource as dependency to translation library
* refactor: restructure language-combobox, adjust default locale for next-intl
* chore: change cookie keys prefix from homarr- to homarr.
2024-11-02 21:15:46 +01:00
Meier Lukas
4502569223
refactor: move from next-international to next-intl ( #1368 )
...
* refactor: move from next-international to next-intl
* refactor: restructure translation package,
* chore: change i18n-allay framework to next-intl
* fix: add missing bold html tag to translation
* fix: format issue
* fix: address deepsource issues
* fix: remove international-types dependency
* fix: lint and typecheck issues
* fix: typecheck issue
* fix: typecheck issue
* fix: issue with translations
2024-10-26 22:46:14 +02:00