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