Skip to content

UserHome.tsx Mindmap Operations Sequence Diagram ​

This diagram shows how UserHome.tsx retrieves, deletes, and restores mindmaps, including all interactions with IndexedDB and the backend API.

Sequence Diagram ​

Summary ​

OperationFlow
RetrieveIndexedDB first (fast) → Server fetch if online → Merge (respecting pending syncs) → Re-render from IndexedDB
DeleteOptimistic UI → Delete nodes + map from IndexedDB → Queue MAP_DELETE → SyncManager sends to backend (soft delete)
Batch DeleteSame as single delete, but parallel for each selected ID
Restoreapi.restoreMap(id) exists but isn't used in UserHome.tsx — handled by a separate Trash component

Key Files ​

  • [UserHome.tsx](file:///Users/sunny/workspace/projects/kemma/apps/web-client/src/modules/dashboard/pages/UserHome.tsx) - Dashboard page
  • [db.ts](file:///Users/sunny/workspace/projects/kemma/apps/web-client/src/modules/studio/services/db.ts) - IndexedDB wrapper
  • [persistence.ts](file:///Users/sunny/workspace/projects/kemma/apps/web-client/src/modules/studio/services/persistence.ts) - Persistence service
  • [sync-manager.ts](file:///Users/sunny/workspace/projects/kemma/apps/web-client/src/modules/studio/services/sync-manager.ts) - Background sync manager
  • [client.ts](file:///Users/sunny/workspace/projects/kemma/apps/web-client/src/shared/api/client.ts) - API client