fix(routing): redirect module-as-subdomain to demo instead of treating as space
rcred.rspace.online was being treated as a space slug, triggering
auto-provision + redirect to /rspace. Now any subdomain matching a
known module ID (rcred, rvote, etc.) redirects to demo.rspace.online/{moduleId}.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
96a3289dcd
commit
030d69b29f
|
|
@ -4070,6 +4070,14 @@ const server = Bun.serve<WSData>({
|
|||
|
||||
// ── Subdomain routing: {space}.rspace.online/{moduleId}/... ──
|
||||
if (subdomain) {
|
||||
// ── Guard: module IDs are not space slugs ──
|
||||
// Redirect rcred.rspace.online → demo.rspace.online/rcred (not a space)
|
||||
const allModuleIds = new Set(getAllModules().map(m => m.id));
|
||||
if (allModuleIds.has(subdomain.toLowerCase())) {
|
||||
const pathSuffix = url.pathname === "/" ? "" : url.pathname;
|
||||
return Response.redirect(`${proto}//demo.rspace.online/${subdomain}${pathSuffix}${url.search}`, 302);
|
||||
}
|
||||
|
||||
// ── Auto-provision personal space on first visit ──
|
||||
// Fast path: communityExists is an in-memory Map check for cached spaces.
|
||||
if (!(await communityExists(subdomain))) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue