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
..
2026-07-06 10:05:51 +02:00
2026-07-12 14:50:58 +02:00
2025-05-09 13:24:37 +02:00
2024-12-24 14:16:24 +01:00
2026-07-06 10:05:51 +02:00
2026-07-03 16:33:03 +02:00
2025-01-14 19:03:38 +01:00
2024-06-22 21:02:04 +02:00
2025-05-16 20:59:12 +02:00
2025-09-26 20:30:56 +02:00
2025-07-11 18:54:17 +00:00
2026-08-07 18:59:47 +02:00
2026-07-12 14:50:58 +02:00
2024-11-23 17:16:44 +01:00
2026-01-05 18:43:17 +01:00
2026-08-07 18:59:47 +02:00
2024-09-16 19:53:37 +02:00
2024-08-04 21:44:51 +02:00
2026-01-05 18:43:17 +01:00
2026-05-01 16:21:22 +02:00
2026-05-18 21:45:33 +02:00
2024-12-15 15:40:26 +01:00
2025-08-15 18:15:58 +00:00
2026-06-05 16:50:35 +02:00