rspace-online/modules/rbooks
Jeff Emmett 4a54e6af16 fix: enforce subdomain routing — spaces are subdomains, never path segments
Audit and fix ~60 violations across 47 files where URLs were constructed
as /{space}/moduleId instead of /moduleId (subdomain provides the space).

- Add getModuleApiBase() helper to shared/url-helpers.ts
- Fix client components: use getModuleApiBase() for fetch URLs,
  rspaceNavUrl() for navigation
- Fix server routes: use c.get("isSubdomain") for redirects and
  JSON response URLs
- Fix OAuth callbacks (notion, google, clickup): subdomain-aware redirects
- Fix email notification URLs (rvote): use {space}.rspace.online format
- Fix webhook registration (rtasks/clickup): subdomain-aware endpoint URL
- Replace broken #getSpaceSlug() methods in folk-feed, folk-splat
- Replace NODE_ENV checks with proper isSubdomain checks (rdata, rnetwork)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 14:09:53 -07:00
..
components fix(flipbook): use <img> elements instead of background-image for page rendering 2026-03-31 13:02:28 -07:00
db feat: Phase 4 — remove PostgreSQL from 11 modules, switch to Automerge 2026-03-02 15:48:01 -08:00
landing.ts feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
local-first-client.ts perf: parallelize local-first init — batch IDB loads, cache crypto keys, preload sync states 2026-03-03 14:18:55 -08:00
mod.ts fix: enforce subdomain routing — spaces are subdomains, never path segments 2026-04-03 14:09:53 -07:00
schemas.ts feat: batch local-first migration for 10 modules (Phase 3) 2026-03-02 14:01:58 -08:00