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> |
||
|---|---|---|
| .. | ||
| components | ||
| db | ||
| flow.ts | ||
| landing.ts | ||
| local-first-client.ts | ||
| mod.ts | ||
| schemas.ts | ||