Home

giogio / openez-graph

public
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

perf: optimize graph page with LRU cache and query improvements

5 months ago

1ec07ec
Authored
JoeJoeflyn5/28/2026, 8:39:24 PM
Backend:
- Add lru-cache for in-memory caching (30s TTL, max 50 workspaces)
- Create getWorkspaceGraphOptimized() with prepared statements
- Add composite DB indexes for faster edge lookups

Frontend:
- Add ISR revalidation (30s)
- Use React cache() for request deduplication

Results: ~150ms cached response vs uncached queries

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Parenta6f6f7b

30 files changed
  • AGENTS.md+1−1
  • README.md+32−1
  • apps/cli/src/cli.ts+4−4
  • apps/web/package.json+2−0
  • apps/web/src/app/documents/page.tsx+19−3
  • apps/web/src/app/jobs/page.tsx+63−25
  • apps/web/src/app/layout.tsx+14−11
  • apps/web/src/app/page.tsx+2−1
  • apps/web/src/app/query/actions.ts+58
−4
  • apps/web/src/app/query/query-form.tsx+91−3
  • apps/web/src/app/settings/page.tsx+16−0
  • apps/web/src/app/workspaces/[workspaceId]/IndexJobsPanel.tsx+1−14
  • apps/web/src/app/workspaces/[workspaceId]/graph/GraphClient.tsx+2−3
  • apps/web/src/app/workspaces/[workspaceId]/graph/actions.ts+43−9
  • apps/web/src/app/workspaces/[workspaceId]/graph/page.tsx+5−2
  • apps/web/src/app/workspaces/[workspaceId]/page.tsx+1−11
  • apps/web/src/app/workspaces/page.tsx+67−62
  • apps/web/src/components/graph/GraphLegend.tsx+1−29
  • apps/web/src/components/graph/WorkspaceGraph.tsx+15−82
  • apps/web/src/components/header.tsx+13−0
  • apps/web/src/components/pagination.tsx+63−0
  • apps/web/src/components/sidebar.tsx+22−16
  • apps/web/src/components/theme-toggle.tsx+23−0
  • apps/web/src/lib/dashboard.ts+13−5
  • apps/web/src/lib/utils.ts+39−0
  • apps/web/src/server/sqlite.ts+53−3
  • packages/core/src/retrieval.ts+15−12
  • packages/queue/src/index.ts+2−1
  • packages/ui/src/components/ui/sidebar.tsx+1−1
  • packages/ui/src/index.ts+1−1