rspace-online/server/local-first
Jeff Emmett 53c757e68e fix: comprehensive memory leak and performance fixes across 44 files
Browser-side:
- Fix switchSpace() to LRU-evict idle space WebSocket connections (cap: 3)
- Add runtime.unsubscribe() to disconnectedCallback in 24 components
- Fix DocSyncManager.unsubscribe() to clean up syncStates, timers, listeners
- Fix 14 components leaking RAF loops, ResizeObservers, MutationObservers,
  document/window listeners, setIntervals, MapLibre WebGL contexts, and
  AbortControllers on disconnect
- Deduplicate Automerge WASM: module builds now use global shim from
  shell-offline instead of bundling ~2.5MB each (8 modules affected)

Server-side:
- Add LRU eviction to SyncServer.#docs (cap: 500, evicts idle docs with
  no subscribers, persists to disk before eviction)
- registerWatcher() now returns unsubscribe function

Data:
- Cap unbounded CRDT arrays: rexchange chatMessages (200), rcart events (200)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 22:26:24 -04:00
..
migration feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
backup-routes.ts feat(ipfs): add IPFS integration for backups and generated files 2026-04-02 14:24:39 -07:00
backup-store.ts feat(ipfs): add IPFS integration for backups and generated files 2026-04-02 14:24:39 -07:00
compute-server.ts Add 7-layer local-first data infrastructure 2026-02-23 01:12:06 +00:00
doc-persistence.ts fix(rcal): add post-load migration for tags field on existing events 2026-03-24 14:01:01 -07:00
encryption-utils.ts feat: layered local-first data architecture — encrypted backup, relay persistence, at-rest encryption 2026-03-02 17:09:07 -08:00
sync-server.ts fix: comprehensive memory leak and performance fixes across 44 files 2026-04-10 22:26:24 -04:00