rspace-online/modules/rsplat
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
..
components Merge branch 'dev' 2026-02-28 19:51:51 -08:00
db feat: Phase 4 — remove PostgreSQL from 11 modules, switch to Automerge 2026-03-02 15:48:01 -08:00
landing.ts refactor: rename module directories to match r-prefixed module IDs 2026-02-28 19:49:26 -08:00
local-first-client.ts perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
mod.ts feat: add seed template data for rCart, rChoices, rFiles, rForum, rFunds, rInbox, rSplat 2026-03-02 22:49:21 -08:00
schemas.ts feat: batch local-first migration for 10 modules (Phase 3) 2026-03-02 14:01:58 -08:00