Reinforces the r-suite "your tools" philosophy across all rApp landing pages.
Also normalizes title separators to em-dash (—) for consistency.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>
- Traefik wildcard HostRegexp for <space>.rfunds.online subdomains
- Middleware subdomain extraction and path rewriting
- Provision endpoint with owner_did acknowledgement
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>
Simple acknowledge endpoint — no DB to provision. Returns ok status
when called by the registry during space activation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Skip EncryptID token check for demo subdomains when
ENCRYPTID_DEMO_SPACES env var is set. Uses isDemoRequest()
from @encryptid/sdk v0.2.0.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move nav to shared Header in layout.tsx, remove inline header/footer
from page.tsx. Add UserMenu, SpaceSwitcher, and updated AppSwitcher.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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>
All registered spaces (e.g. demo.rfunds-online.online) now route to this
app at Traefik priority 100. Bare domain stays at priority 120.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>
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>
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>
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>
Funnels can now declare a sufficientThreshold and dynamicOverflow.
When dynamicOverflow is true, surplus routes to the most underfunded
targets by need-weight instead of fixed percentages. Visual layer adds
golden glow on sufficient funnels, sufficiency progress bar, ENOUGH
status pill, and a system-wide Enoughness Score badge.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>
Rewrite budget river waterfalls with bezier-curved tapered shapes where
width encodes flow magnitude (inflows flare into river, outflows taper
out). Add Ethereum, Base, Polygon, Arbitrum to Safe chain detection.
Fetch real transaction history for live inflow rates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New /river page showing funding flows as an animated river with waterfalls
cascading in (inflows) and out (spending). SVG-based with CSS animations
for water effects, ripples, and current lines. Supports demo mode with
simulated data and live mode via Safe Global API for real on-chain balances.
Also includes source node type and landing page nav links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace random-noise simulation with actual flow logic: inflow accumulation,
threshold-gated overflow distribution to downstream funnels, spending drain
to outcomes, and auto status transitions. Outcomes linked to rVote proposals
are now clickable links opening the live proposal on rvote.online.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace /demo redirect with full expense tracking demo powered by
real-time WebSocket connection to the shared demo community. Budget
overview, expense editing, balance calculations, and settle-up all
sync across the r* ecosystem in real-time.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace duplicated WebAuthn ceremony code with SDK EncryptIDClient.
Add cookie persistence for server-side token access.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- FundingSource types: card, crypto_wallet, safe_treasury, bank_transfer
- TransakWidget component with iframe postMessage handling
- FundingSourcesPanel with CRUD, config forms per type, and Fund Now action
- FunnelNode edit modal: new Funding Sources section
- Space page: Fund dropdown with Deposit (Crypto) + Pay with Card options
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add demo page that redirects to /tbff (the actual TBFF demo).
Add full r* ecosystem footer with all 10 apps to landing page.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The @encryptid/sdk dependency uses file:../encryptid-sdk which
requires the build context to include the sibling SDK directory.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Requires authentication via EncryptID before accessing the flow
editor. Adds AuthButton component, auth store, and middleware.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Deploy/Sync/Deposit buttons to space editor that connect to the
flow-service backend at rfunds.online/api/flows. Visual designs can
now be deployed as live flows with real threshold logic and overflow
distribution.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- StreamEdge component with animated dash pattern for Superfluid flow visualization
(planned/active/paused status, flow rate + token labels)
- SplitsView component showing recipient addresses, percentage bars, and export config
- rVote API client module (fetchSpace, fetchPassedProposals) via CORS proxy
- Stream-out handle on FunnelNode for creating stream connections
- Splits and streams display in FunnelNode edit modal
- Edge type system refactored to support allocation + stream edge data
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Link external data sources to rFunds spaces:
- Safe Global API client (Gnosis + Optimism) for wallet balances → Funnel nodes
- rVote CORS proxy + client for passed proposals → Outcome nodes
- Integration panel UI with preview/import workflow
- Source badges on nodes (chain icon for Safe, rVote score for proposals)
- State persistence for integrations in save/load/share
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Custom AllocationEdge component renders clickable +/- controls at each
edge's midpoint, allowing users to increment/decrement allocation
percentages by 5% without opening the funnel edit modal. Sibling
allocations are automatically renormalized to sum to 100%.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Landing page explaining threshold-based flow funding, interactive demo at /tbff
with the full Treasury → sub-funnels → outcomes preset, and user-created spaces
at /space with save/load/share functionality via localStorage and URL hash state.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>