rspace-online/modules
Jeff Emmett 63ac2a268e perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states
Sequential document loading during init() was the main bottleneck: each cached
doc required a serial IDB read + key derivation + decryption + Automerge.load.
With N documents this meant N× single-doc latency instead of 1×.

Changes:
- Add loadMany() to EncryptedDocStore for parallel Promise.all() batch loading
- Cache derived space/doc CryptoKeys in DocCrypto (one derivation per session)
- Add preloadSyncStates() to DocSyncManager for parallel sync state loading
- Update all 11 module local-first-client init() methods to use batch APIs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:18:55 -08:00
..
rbooks perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rcal perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rcart perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rchoices feat: workflow template, choice components, space settings, EncryptID vault, UI polish 2026-03-03 13:15:13 -08:00
rdata feat: unified space lifecycle & module scoping contract (Phase 0+1) 2026-03-02 13:35:41 -08:00
rdesign feat: unified space lifecycle & module scoping contract (Phase 0+1) 2026-03-02 13:35:41 -08:00
rdocs feat: unified space lifecycle & module scoping contract (Phase 0+1) 2026-03-02 13:35:41 -08:00
rfiles perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rforum feat: add seed template data for rCart, rChoices, rFiles, rForum, rFunds, rInbox, rSplat 2026-03-02 22:49:21 -08:00
rfunds perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rinbox perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rmaps fix: getApiBase() across all 16 rApp modules for subdomain routing 2026-03-02 21:01:06 -08:00
rnetwork feat: add Twenty CRM /crm route + deploy stack for commons-hub lead funnel 2026-03-03 13:53:50 -08:00
rnotes perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rphotos feat: fall back to demo data when rPhotos/rInbox APIs return empty 2026-03-03 11:16:22 -08:00
rpubs feat: workflow template, choice components, space settings, EncryptID vault, UI polish 2026-03-03 13:15:13 -08:00
rsocials feat: unified space lifecycle & module scoping contract (Phase 0+1) 2026-03-02 13:35:41 -08:00
rspace feat: unified space lifecycle & module scoping contract (Phase 0+1) 2026-03-02 13:35:41 -08:00
rsplat perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rswag feat: workflow template, choice components, space settings, EncryptID vault, UI polish 2026-03-03 13:15:13 -08:00
rtrips perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rtube feat: unified space lifecycle & module scoping contract (Phase 0+1) 2026-03-02 13:35:41 -08:00
rvote perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
rwallet fix: getApiBase() across all 16 rApp modules for subdomain routing 2026-03-02 21:01:06 -08:00
rwork perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00