rspace-online/server
Jeff Emmett 4cc420d0f6 feat: wire offline-first Automerge sync to all 13 rSpace modules
Add shared RSpaceOfflineRuntime singleton that coordinates IndexedDB
persistence (EncryptedDocStore), WebSocket sync (DocSyncManager), and
in-memory Automerge docs (DocumentManager) for all module web components.

- Phase 0: runtime.ts singleton, shell integration, beforeunload flush
- Phase 1: rstack-offline-indicator status dot in shell header
- Phase 2: service worker stale-while-revalidate for API GETs + offline fallback
- Phase 3: storage-quota.ts with LRU eviction (30d) and quota warnings (70%)
- Phase 4: Tier 1 single-doc modules (rFlows, rCal, rBooks, rSplat)
- Phase 5: Tier 2 multi-doc modules (rNotes, rWork, rInbox, rVote, rTrips, rFiles)
  with doc-list-request/response wire protocol for document discovery
- Phase 6: Tier 3 special cases (rCart hybrid, rForum global doc, rSchedule)

Data now loads instantly from IndexedDB, syncs via WebSocket when online,
and remains browsable offline. rNotes migrated from inline Automerge WS
to shared runtime. All modules fall back to REST when runtime unavailable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 19:07:59 -08:00
..
local-first feat: wire offline-first Automerge sync to all 13 rSpace modules 2026-03-04 19:07:59 -08:00
oauth feat: add unified notification system with real-time WS delivery 2026-03-03 18:59:09 -08:00
community-store.ts feat: add SpaceConnection primitive + default visibility to private 2026-03-03 15:05:23 -08:00
encryptid-sdk.d.ts fix: resolve TypeScript build errors for Docker deployment 2026-02-13 14:59:04 -07:00
index.ts feat: bare-domain sub-pages show info/marketing pages + save-gate 2026-03-04 12:16:17 -08:00
landing-proxy.ts feat: hide "Try Demo" header button when logged in 2026-03-01 14:16:59 -08:00
landing.ts style: gradient background + (you)rSpace wordmark on landing page 2026-03-03 14:58:15 -08:00
notification-routes.ts feat: add unified notification system with real-time WS delivery 2026-03-03 18:59:09 -08:00
notification-service.ts feat: add unified notification system with real-time WS delivery 2026-03-03 18:59:09 -08:00
output-list.ts fix: space settings panel hidden behind canvas due to backdrop-filter containment 2026-03-04 10:30:20 -08:00
seed-campaign.ts fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
seed-demo.ts refactor: complete rfunds → rflows rename across configs and references 2026-03-03 19:13:14 -08:00
seed-template.ts refactor: complete rfunds → rflows rename across configs and references 2026-03-03 19:13:14 -08:00
shell.ts feat: wire offline-first Automerge sync to all 13 rSpace modules 2026-03-04 19:07:59 -08:00
spaces.ts fix: stop demo→personal space redirect and clean up space switcher 2026-03-04 18:02:00 -08:00
sync-instance.ts feat: layered local-first data architecture — encrypted backup, relay persistence, at-rest encryption 2026-03-02 17:09:07 -08:00