From 2b33479f7bf56a5bf64c6737215161e7bbbc29fe Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 15 Apr 2026 11:38:36 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20skip=20landing=20pages=20=E2=80=94=20go?= =?UTF-8?q?=20straight=20to=20interactive=20demo=20app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bare-domain rspace.online/{moduleId} now rewrites directly to demo space instead of rendering marketing landing pages. Also removed auto-show info panel on first visit — info panel now only opens via the info button. Co-Authored-By: Claude Opus 4.6 --- server/index.ts | 10 +--------- server/shell.ts | 13 +------------ 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/server/index.ts b/server/index.ts index 11427dbc..b98f1e59 100644 --- a/server/index.ts +++ b/server/index.ts @@ -4240,16 +4240,8 @@ const server = Bun.serve({ const mod = allModules.find((m) => m.id === firstSegment); if (mod) { - // rspace.online/{moduleId} → show module landing page (or fallback to demo shell) + // rspace.online/{moduleId} → go straight to demo interactive app if (pathSegments.length === 1) { - if (mod.landingPage) { - const html = renderModuleLanding({ - module: mod, - modules: getModuleInfoList(), - bodyHTML: mod.landingPage(), - }); - return new Response(html, { headers: { "Content-Type": "text/html; charset=utf-8" } }); - } const rewrittenPath = `/demo/${firstSegment}`; const rewrittenUrl = new URL(rewrittenPath + url.search, `http://localhost:${PORT}`); return app.fetch(new Request(rewrittenUrl, req)); diff --git a/server/shell.ts b/server/shell.ts index 94fa1e09..0e951ef7 100644 --- a/server/shell.ts +++ b/server/shell.ts @@ -532,16 +532,7 @@ export function renderShell(opts: ShellOptions): string { }); if (infoClose) infoClose.addEventListener('click', hideInfoPanel); - // Auto-show info panel ONCE globally (first rApp visit ever), then only via info button - function autoShowIfFirstVisit(mid) { - if (!mid || mid === 'rspace') return; // skip canvas - try { - if (localStorage.getItem('rapp_info_auto_shown')) return; // already shown once - if (!localStorage.getItem('encryptid_session')) return; // not logged in - localStorage.setItem('rapp_info_auto_shown', '1'); - setTimeout(function() { showInfoPanel(mid); }, 800); - } catch(e) {} - } + // Info panel only shows when user clicks the info button — no auto-show. // Hide info panel when switching tabs (but don't auto-show for new tabs) document.addEventListener('layer-view-mode', hideInfoPanel); @@ -554,8 +545,6 @@ export function renderShell(opts: ShellOptions): string { }); } - // Auto-show on initial page load (only fires once globally) - autoShowIfFirstVisit('${escapeAttr(moduleId)}'); // Expose for tour integration window.__rspaceShowInfo = showInfoPanel;