From 2c3f8568a31563e56ab2cef0dfd90b6b093357bc Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Thu, 2 Apr 2026 15:16:02 -0700 Subject: [PATCH] fix: use subdomain format {space}.rspace.online instead of path-based routing Space creation popup slug field now shows input followed by .rspace.online suffix instead of rspace.online/ prefix. Also fixes rtasks notification link and browser extension help text. Co-Authored-By: Claude Opus 4.6 --- browser-extension/options.html | 2 +- modules/rtasks/mod.ts | 2 +- shared/components/rstack-space-switcher.ts | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/browser-extension/options.html b/browser-extension/options.html index 3c409e9..3f0deb7 100644 --- a/browser-extension/options.html +++ b/browser-extension/options.html @@ -44,7 +44,7 @@
-
Your space name in the URL (e.g. "my-space" from rspace.online/my-space)
+
Your space name in the URL (e.g. "my-space" from my-space.rspace.online)
diff --git a/modules/rtasks/mod.ts b/modules/rtasks/mod.ts index 2404de4..b625997 100644 --- a/modules/rtasks/mod.ts +++ b/modules/rtasks/mod.ts @@ -353,7 +353,7 @@ routes.post("/api/spaces/:slug/tasks", async (c) => { // Notify space members about the new task import('../rinbox/agent-notify').then(({ sendSpaceNotification }) => { sendSpaceNotification(slug, `New Task: ${title.trim()}`, - `

${title.trim()}

${description ? `

${description}

` : ''}

Priority: ${priority || 'MEDIUM'}

View in rTasks

` + `

${title.trim()}

${description ? `

${description}

` : ''}

Priority: ${priority || 'MEDIUM'}

View in rTasks

` ).catch(() => {}); }).catch(() => {}); diff --git a/shared/components/rstack-space-switcher.ts b/shared/components/rstack-space-switcher.ts index e1809ea..b17f3a0 100644 --- a/shared/components/rstack-space-switcher.ts +++ b/shared/components/rstack-space-switcher.ts @@ -1335,8 +1335,8 @@ export class RStackSpaceSwitcher extends HTMLElement {
- rspace.online/ + .rspace.online
@@ -2265,13 +2265,13 @@ const CREATE_SPACE_MODAL_STYLES = ` /* Slug row */ .cs-slug-row { display: flex; align-items: center; gap: 0; } -.cs-slug-prefix { - padding: 9px 0 9px 12px; background: var(--rs-bg-hover, #171717); - border: 1px solid var(--rs-input-border, #404040); border-right: none; - border-radius: 8px 0 0 8px; font-size: 0.8rem; color: var(--rs-text-muted, #525252); +.cs-slug-input { border-radius: 8px 0 0 8px !important; } +.cs-slug-suffix { + padding: 9px 12px 9px 0; background: var(--rs-bg-hover, #171717); + border: 1px solid var(--rs-input-border, #404040); border-left: none; + border-radius: 0 8px 8px 0; font-size: 0.8rem; color: var(--rs-text-muted, #525252); white-space: nowrap; } -.cs-slug-input { border-radius: 0 8px 8px 0 !important; } .cs-slug-status { font-size: 0.72rem; min-height: 1.1em; margin-top: 3px; } .cs-slug-available { color: #34d399; }