From 9bc1fc397c237511fe9039eb2d5663c0aba6c470 Mon Sep 17 00:00:00 2001 From: Thomas Camlong Date: Sat, 8 Aug 2026 09:08:48 +0200 Subject: [PATCH] chore: remove .cursor/goal files from git --- .../archive/scratchpad-20260807T193445.md | 105 ------------------ .cursor/goal/done | 0 .cursor/goal/scratchpad.md | 53 --------- 3 files changed, 158 deletions(-) delete mode 100644 .cursor/goal/archive/scratchpad-20260807T193445.md delete mode 100644 .cursor/goal/done delete mode 100644 .cursor/goal/scratchpad.md diff --git a/.cursor/goal/archive/scratchpad-20260807T193445.md b/.cursor/goal/archive/scratchpad-20260807T193445.md deleted file mode 100644 index 917c6d7c3..000000000 --- a/.cursor/goal/archive/scratchpad-20260807T193445.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -iteration: 10 -max_iterations: 15 -status: done -goal: "Implement Phase 1 homepage diet via Next.js Cache Components - P1-0 through P1-7 with all correctness gates" -success_criteria: - - "[x] P1-0: V8 heap cap in scripts/run.sh with HOMARR_MAX_OLD_SPACE_SIZE env var" - - "[x] P1-0: HOMARR_MAX_OLD_SPACE_SIZE documented in docs" - - "[x] P1-1.1: Dynamic integration imports replacing 55 static imports in creator.ts" - - "[x] P1-1.1: createRetryableLoader extracted to packages/common" - - "[x] P1-1.1: creator.spec.ts testing all integration kinds load" - - "[x] P1-1.2: DB driver loaded conditionally via DB_DRIVER env" - - "[x] P1-1.3: jsdom replaced with linkedom for SVG sanitization" - - "[x] P1-1.3: sanitize.spec.ts with XSS test corpus (10 vectors)" - - "[x] P1-1.4: Eager widget barrel deleted, imports repointed" - - "[x] P1-2.1: cacheComponents enabled in next.config.ts with cacheLife profiles" - - "[x] P1-2.2: Root layout restructured with Suspense boundaries" - - "[x] P1-2.3: Board/manage/auth routes compatible with cacheComponents" - - "[x] P1-3.1: Cache tag registry in packages/api/src/cache-tags.ts" - - "[x] P1-3.2: Server settings kept with React cache (shared package constraint)" - - "[x] P1-3.3: Session providers moved to SessionScopedProviders with Suspense" - - "[x] P1-3.4: Per-request translation deep-merge eliminated" - - "[x] P1-3.5: Cache invalidation wired into all mutation routers" - - "[x] P1-4: Prerendered shells for widget catalog, loading.tsx files" - - "[x] P1-5: Shared integration data cache (module-level, 60s TTL, stale-while-revalidate)" - - "[x] P1-6: Redis-backed Next cache handler" - - "[x] P1-7.1: Redis optional for single-instance (memory channel fallback)" - - "[x] P1-7.1: TTL on pubSub:last:* keys (F4)" - - "[x] P1-7.1: Redis clients consolidated from 6 to 2 (F3)" - - "[x] All 30 specs pass" - - "[x] No diff to trpc.tsx or query-cache.ts" - - "[x] Reviewed with /review-pr at least 10 times" - - "[x] All review issues fixed" - - "[x] Integration type map created for kind-to-class resolution" -last_verdict: "DONE" -last_reason: "All 25 success criteria met. 10 review iterations completed. LGTM at 88% confidence." -last_next: null -engine: cursor ---- - -## Progress log - -### Iteration 1 — Implementation complete -- P1-0 through P1-7 all implemented via parallel subagents -- 66 files changed, 1280 insertions, 1229 deletions -- 25 new tests all passing -- Type errors from dynamic integration imports fixed with kind-map.ts - -### Iteration 2 — Bugbot Review #1 -- Multi-instance integration data cache is process-local → added REDIS_IS_EXTERNAL bypass -- Board permission changes missing invalidation → added invalidateBoardCache -- cacheTags.integrationData unused → removed -- Redis KEYS → SCAN -- Documented REDIS_CACHE_DB - -### Iteration 3 — Bugbot Review #3 -- Inverted tag-expiration check in redis-handler.ts (< → >) -- Widget interact mutations missing dual-layer invalidation → added requestHandler.invalidateCache() -- saveItemOptions missing board name → fetch board name -- importOldmarrConfig missing invalidation → added per-board + list invalidation -- createBoard homeBoardId auto-set missing user invalidation -- group.savePositions missing invalidation -- integration.requestMedia missing invalidation -- user.delete missing invalidation - -### Iteration 4 — Bugbot Review #5 -- Static @homarr/integrations barrel undermines dynamic imports → removed 46 re-exports -- Duplicate export in common/index.ts → removed -- SVG XSS test corpus expanded → 10 vectors,