rspace-online/backlog/tasks/task-51 - Consolidate-stand...

45 lines
1.9 KiB
Markdown

---
id: TASK-51
title: Consolidate standalone r*.online domains → rspace.online
status: To Do
assignee: []
created_date: '2026-02-25 07:46'
labels:
- infrastructure
- domains
- migration
dependencies: []
references:
- server/index.ts (lines 457-521 — standalone rewrite logic)
- shared/module.ts (standaloneDomain interface)
- shared/components/rstack-app-switcher.ts (external link arrows)
- docker-compose.yml (lines 44-114 — Traefik labels)
- src/encryptid/server.ts (allowedOrigins list)
- src/encryptid/session.ts (JWT aud claim)
priority: high
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Migrate ~20 standalone domains (rbooks.online, rmaps.online, rfunds.online, etc.) into path-based routing under rspace.online. Currently these domains are silently rewritten to /:space/:moduleId internally — this migration makes rspace.online the canonical URL, adds 301 redirects, removes dead infrastructure, and lets domains expire.
Execution order: Phase 2 → 1 → 3 → 4 → 5 → 6 (fix external service URLs before enabling redirects).
Key risks:
- rnetwork.online is dual-purpose (module alias AND TWENTY_API_URL) — must decouple before redirects
- sync.rmaps.online is a separate WebSocket service, not the rmaps module
- PWA/service worker caches on old domains may need self-unregistering workers
- keepStandalone domains (rcart.online, rfiles.online, swag.mycofi.earth, providers.mycofi.earth) need separate evaluation
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 All standalone domain hits return 301 → rspace.online/demo/{moduleId}/...
- [ ] #2 No hardcoded references to r*.online domains remain in codebase
- [ ] #3 WebAuthn/EncryptID auth works solely on rspace.online
- [ ] #4 Standalone Traefik labels and docker-compose.standalone.yml removed
- [ ] #5 Standalone .ts entry points deleted
- [ ] #6 Domain registrations allowed to expire
<!-- AC:END -->