FolkJS collaborative canvas with subdomain routing for community spaces
Go to file
Jeff Emmett 22db2f439f feat: client-side encryption wiring + space scoping UI (Phase 5+6)
Phase 5 — EncryptID → DocCrypto bridge:
- Add EncryptedDocBridge connecting WebAuthn PRF to document encryption
- Add per-doc relay mode to SyncServer (encrypted spaces bypass participant mode)
- Wire encryption toggle to syncServer.setRelayOnly() on PATCH /:slug/encryption
- Restore relay mode for encrypted spaces on server startup
- Initialize DocBridge from PRF on login, clear on sign-out (both login-button + identity)
- Use bridge helpers for encrypted backup toggle in My Account

Phase 6 — Space scoping UI:
- Add "Modules" tab to Edit Space modal (enable/disable modules, scope toggles, encryption)
- Auto-filter app switcher by space's enabledModules via renderShell()
- Show "G" badge on global-scoped modules in app switcher
- Show lock icon in header for encrypted spaces
- Add getSpaceShellMeta() helper for auto-populating shell options

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:50:16 -08:00
backlog chore: add backlog tasks 74-76 2026-03-01 15:04:39 -08:00
db Add rSplat module — Gaussian splat viewer with x402 gated uploads 2026-02-21 20:55:45 +00:00
docs feat: add folk-canvas shape, WS cascade enforcement, and at-rest encryption 2026-02-24 18:43:30 -08:00
lib fix: disconnect from spaces and redirect on EncryptID sign-out 2026-03-02 13:15:09 -08:00
modules fix: resolve all pre-existing tsc --noEmit errors (10 errors across 5 files) 2026-03-02 14:48:37 -08:00
public/.well-known fix: change WebAuthn RP ID from jeffemmett.com to rspace.online 2026-02-18 14:32:57 -07:00
scripts fix: resolve all pre-existing tsc --noEmit errors (10 errors across 5 files) 2026-03-02 14:48:37 -08:00
server feat: client-side encryption wiring + space scoping UI (Phase 5+6) 2026-03-02 14:50:16 -08:00
shared feat: client-side encryption wiring + space scoping UI (Phase 5+6) 2026-03-02 14:50:16 -08:00
src feat: client-side encryption wiring + space scoping UI (Phase 5+6) 2026-03-02 14:50:16 -08:00
types fix: resolve all TypeScript build errors across modules 2026-02-23 19:42:44 -08:00
website fix: disconnect from spaces and redirect on EncryptID sign-out 2026-03-02 13:15:09 -08:00
.dockerignore fix: make Docker build self-contained with local context 2026-02-16 18:51:24 -07:00
.gitignore refactor: rename module directories to match r-prefixed module IDs 2026-02-28 19:49:26 -08:00
Dockerfile feat: move rApp secrets to Infisical, add seed script 2026-03-01 18:06:21 -08:00
Dockerfile.encryptid Fix EncryptID Docker build to include encryptid-sdk dependency 2026-02-14 21:23:18 -07:00
MODULE_SPEC.md docs: add MODULE_SPEC.md with permission model and capabilities 2026-02-17 12:30:14 -07:00
bun.lock feat: add Gnosis Safe + EncryptID passkey wallet abstraction 2026-03-02 12:18:34 -08:00
docker-compose.encryptid.yml feat: admin dashboard with user management and delete capabilities 2026-02-28 22:30:21 -08:00
docker-compose.standalone.yml refactor: rename module directories to match r-prefixed module IDs 2026-02-28 19:49:26 -08:00
docker-compose.yml fix: remove DATABASE_URL from docker-compose, now in Infisical 2026-03-01 21:41:16 -08:00
entrypoint.sh feat: wire rspace to pull secrets from Infisical at startup 2026-02-23 19:36:27 -08:00
package-lock.json fix: switch all module shell themes from light to dark 2026-02-24 19:42:33 -08:00
package.json feat: add Gnosis Safe + EncryptID passkey wallet abstraction 2026-03-02 12:18:34 -08:00
tsconfig.json fix: resolve all TypeScript build errors across modules 2026-02-23 19:42:44 -08:00
vite.config.ts refactor: rename module directories to match r-prefixed module IDs 2026-02-28 19:49:26 -08:00