Commit Graph

24 Commits

Author SHA1 Message Date
Jeff Emmett 5641dba450 fix: add Traefik priority 130 to override rspace-online routing
rspace-online claims all rApp base domains at priority 120.
Individual apps need higher priority to serve their own content.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:26:36 -08:00
Jeff Emmett 3c0dc2839d fix: increase Node heap size for Docker build
Add NODE_OPTIONS --max_old_space_size=4096 to prevent SIGSEGV during
Next.js build in Docker.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:19:31 -08:00
Jeff Emmett 51b9b2f079 feat: standardize header, categories, cross-app spaces
- AppSwitcher: rTube/rSwag → Creating, rSocials → Sharing, rData → Observing
- EcosystemFooter: updated link order to match new categories
- UserMenu: 🔑 Sign In button, 🔐 lock when logged in
- SpaceSwitcher: reads EncryptID token, sends Bearer header
- /api/spaces proxy: forwards to rspace.online (canonical spaces)
- /api/me: verifies EncryptID token for auth status
- Header.tsx: standardized bg-slate-900/85 across all apps

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:16:51 -08:00
Jeff Emmett f46575989f feat: redesign landing page and add demo.rcal.online subdomain
Replace the minimal landing page with a full rStack-style marketing page
featuring hero with gradient text, 4-card principles grid, feature pillars,
temporal zoom visualization, four-view showcase, ecosystem integration
cards, and CTA section.

Move the calendar app to /demo route served at demo.rcal.online via
middleware subdomain routing. Add per-route layouts for Header placement
so the landing page controls its own chrome.

Also includes AppSwitcher/EcosystemFooter category reorganization
(rTube/rSwag to Creating, Social & Media split into Sharing + Observing).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 14:13:23 -08:00
Jeff Emmett cf00a77da2 feat: add space subdomain routing and ownership support
- Traefik wildcard HostRegexp for <space>.r*.online subdomains
- Middleware subdomain extraction and path rewriting
- Provision endpoint with owner_did acknowledgement
- Registry enforces space ownership via EncryptID JWT

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 13:19:29 -08:00
Jeff Emmett bb7bdc0b5b Standardize emojis across header, favicons, and ecosystem links
Canonical emoji set for consistency:
- 🕸️ rNetwork (was 🌐), ⚖️ rChoices (was 🔀), 📋 rWork (was 💼)
- 🔐 rIdentity (was 🔑), 📖 rPubs (was 📰), 💸 rFunds (was 💰)
- 💰 rWallet (was 💼 in footer), 📬 rInbox (was ✉️)
- 💭 rForum (was 💬, differentiates from rChats)
- 📢 rSocials (was 📱), 🔨 rAuctions (was 🏛️ in footer)
- 🎬 rTube (was 📹 in footer)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 12:56:53 -08:00
Jeff Emmett b924c547c9 Add internal provision endpoint for rSpace Registry
Simple acknowledge endpoint — calendars associated in future.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:30:20 -08:00
Jeff Emmett 3b6d2ca3dc refactor: move Header to layout for all sub-routes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:04:46 -08:00
Jeff Emmett e6f64f1ec7 fix: space links use subdomain URLs instead of rspace.online path
Space links now go to <space>.<app-domain> (e.g., myspace.rfunds.online)
instead of rspace.online/<space>. Domain derived from window.location
when not explicitly provided.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:18:37 -08:00
Jeff Emmett bc400d5bad fix: nest Sign Out under username dropdown in UserMenu
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:09:10 -08:00
Jeff Emmett 6cd0a6d279 feat: standardize header with AppSwitcher, SpaceSwitcher, and UserMenu
- Replace inline nav/Navbar with shared Header component
- Header pattern: AppSwitcher dropdown / SpaceSwitcher / actions / Sign In
- SpaceSwitcher and UserMenu work without SDK dependency
- Consistent across all r*Apps

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:03:01 -08:00
Jeff Emmett ea1de80ed8 feat: standardize AppSwitcher and EcosystemFooter across all rApps
- Update AppSwitcher with all 26 r*Apps in 8 categories
- Add EcosystemFooter component with consistent ecosystem links
- Categories: Creating, Planning, Communicating, Deciding,
  Funding & Commerce, Social & Media, Work & Productivity,
  Identity & Infrastructure

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 22:47:56 -08:00
Jeff Emmett bc00c2e16d refactor: migrate EncryptID URLs from encryptid.jeffemmett.com to auth.ridentity.online
Part of the ridentity.online branding migration. The EncryptID auth
server is now accessible at auth.ridentity.online (with the legacy
encryptid.jeffemmett.com kept as a backward-compatible alias).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 22:20:07 -08:00
Jeff Emmett 403a499e88 fix: dark background + emoji favicon for rStack design consistency
Standardize to dark background (#0f172a / slate-900) and add emoji
data URI favicon matching the rStack ecosystem.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:19:06 -08:00
Jeff Emmett 7af73e4453 feat: add rStack AppSwitcher dropdown to header
Adds the unified rStack app switcher with pastel badges, emoji icons,
and categorized navigation across all 17 rStack apps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:15:49 -08:00
Jeff Emmett 001b360510 feat: wire rcal-online to Infisical for secret injection
Add entrypoint.sh that fetches secrets from Infisical at container
startup. DATABASE_URL and POSTGRES_PASSWORD now come from Infisical
instead of being hardcoded in docker-compose environment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 23:07:43 -08:00
Jeff Emmett ac209b5d97 feat: add booking.xhiva.art hostname to Traefik routing
Routes booking.xhiva.art through rcal-online for Xhiva booking page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:11:50 -07:00
Jeff Emmett 7fb1f1fe6a Add rData analytics tracking and ecosystem footer link
- Inject rdata.online/collect.js tracking script in layout
- Add rData link to ecosystem footer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 18:57:08 +00:00
Jeff Emmett 875b74c2fb feat: add EncryptID auth with User model and route guards
User model added to Prisma. AuthProvider wraps existing Providers.
POST/PUT/DELETE routes require auth, GET routes remain open for demo access.
CalendarSource tracks createdById. Dockerfile updated for SDK copy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 10:20:23 +00:00
Jeff Emmett 961235b7b9 feat: add rAuctions and rPubs to ecosystem footer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 09:43:11 +00:00
Jeff Emmett 0c2e198f26 feat: add landing page, move calendar app to /calendar route
Create marketing landing page at / with hero, features (spatial, zoom,
lunar), how-it-works, ecosystem section, and r-suite footer. Move full
calendar app to /calendar. Add rcal.online domain to Traefik labels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 09:24:37 +00:00
Jeff Emmett a722aa2fa4 docs: add MODULE_SPEC.md with permission model and capabilities
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 12:30:14 -07:00
Jeff Emmett 618ebf1e1d chore: initialize backlog with deployment task and known bug
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:16:47 -07:00
Jeff Emmett 5fcbfd6fa8 feat: initial rcal-online — semantic calendar engine with lunar overlay
Forked from zoomcal-jeffemmett, unified with cal-jeffemmett into a single
semantically-aware calendar app. Replaces IFC calendar with lunar calendar,
adds 4-tab views (Temporal, Spatial, Lunar, Context), and r* tool integration
layer for cross-tool calendar rendering.

- Phase 0: Forked zoomcal, inlined @cal/shared, added lunarphase-js + suncalc
- Phase 1: New type system (lunar + r* tools), Zustand store with tabs, IFC stripped
- Phase 2: Lunar engine with synodic month tracking, MoonPhaseIcon, LunarTab
- Phase 3: Adapter registry for r* tools, RCalProvider, URL-driven /context route
- Phase 4: Prisma + PostgreSQL backend, 7 API routes (events, sources, lunar, context)
- Phase 5: Docker multi-stage build, hardened docker-compose with PostgreSQL 16

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:01:34 -07:00