rspace-online/server
Jeff Emmett 1db8341fb2 feat: email forwarding via Mailcow aliases + private space access gate
Email forwarding (EncryptID):
- New mailcow.ts API client for alias CRUD via Mailcow REST API
- Schema: email_forward_enabled + email_forward_mailcow_id columns
- API endpoints: GET/POST email-forward status, enable, disable
- Profile email change hook updates/disables alias automatically
- Docker: rmail-mailcow network + MAILCOW_API_URL/KEY env vars

Private spaces:
- Access gate overlay blocks members_only spaces for unauthenticated users
- Space visibility injected into HTML via middleware
- Auto-provision creates spaces as members_only by default
- Personalized "Create {username}'s Space" CTA in space switcher
- Removed unused /notifications endpoint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:54:07 -08:00
..
local-first security: remove hardcoded secrets, require env vars 2026-02-26 09:45:10 -08:00
community-store.ts feat: space cleanup + Edit Space modal (delete, update meta, manage members) 2026-02-27 17:35:24 -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: email forwarding via Mailcow aliases + private space access gate 2026-02-28 21:54:07 -08:00
landing-proxy.ts feat: proxy rich r*.online landing pages to rspace.online/{moduleId} 2026-02-27 13:31:24 -08:00
landing.ts fix: prevent double space prefix in dashboard links on subdomains 2026-02-28 09:04:47 +00: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 fix: zoom-aware drag, minimum-penetration collision, replace unicode escapes 2026-02-27 16:48:50 -08:00
shell.ts feat: email forwarding via Mailcow aliases + private space access gate 2026-02-28 21:54:07 -08:00
spaces.ts feat: email forwarding via Mailcow aliases + private space access gate 2026-02-28 21:54:07 -08:00
sync-instance.ts feat: wire DocSyncManager into rSpace WebSocket server 2026-02-25 05:19:21 +00:00