rspace-online/modules/rchoices
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
..
components fix: comprehensive memory leak and performance fixes across 44 files 2026-04-10 22:26:24 -04:00
landing.ts feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
local-first-client.ts feat(rchoices): add multiplayer voting sessions via Automerge CRDT 2026-03-15 17:28:42 -07:00
mod.ts feat(mcp): 101 MCP tools across all 35 rApps + security hardening + MI integration 2026-04-10 10:25:17 -04:00
schemas.ts feat(rchoices): add multiplayer voting sessions via Automerge CRDT 2026-03-15 17:28:42 -07:00