Commit Graph

6 Commits

Author SHA1 Message Date
Jeff Emmett 7a1ffbe635 feat(rlending): extract mortgage simulator + /api/mortgage from rFlows
- New modules/rlending/ with moved folk-mortgage-simulator, mortgage-engine,
  mortgage-types; page route at / renders the simulator
- /api/mortgage/rates + /api/mortgage/positions (GET+POST) moved to rLending;
  Aave v3 live rate lookup unchanged
- FlowsDoc schema stays in rFlows (mortgagePositions + reinvestmentPositions fields);
  rLending reads/writes via imported ensureFlowsDoc + flowsDocId + FlowsDoc types
- rFlows: export ensureFlowsDoc (renamed from ensureDoc); drop mortgage API routes,
  /mortgage page route, mortgageScripts, seed block, subPageInfos mortgage entry
- folk-flows-app: mortgage fetches now target /rlending/api/mortgage/* via a derived
  lendingBase (keeps the rPool dashboard in rFlows working unchanged)
- Display: rLending (🏦) added to module-display, rstack-app-switcher (Commerce),
  rstack-tab-bar (Funding & Commerce), e2e/fixtures/module-list
- Vite: folk-mortgage-simulator build repointed to modules/rlending/ with aliases
  resolving to modules/rlending/lib/mortgage-{types,engine}
2026-04-18 14:42:36 -04:00
Jeff Emmett b80386e85c feat(rpayments): extract QR payment app from rCart into its own rApp
- New modules/rpayments/ with routes, schemas, components, landing, recurring-executor
- Doc ID pattern {space}:payments:{paymentId}; one-time migration from {space}:cart:payments:*
- Cross-module hook onPaymentPaid() — rCart registers handler in onInit to auto-record
  contributions on linked shopping carts when a contribute-pay payment settles
- rCart: drop all /api/payments/*, /payments, /request, /pay/:id, /subscriptions, email
  scheduler, and the inline payments tab in folk-cart-shop; contribute-pay now mints
  via imported rpayments schemas and returns /rpayments/pay/ links
- server/index.ts: register paymentsModule, flip public-endpoint matcher to /rpayments
- Display: rPayments (💳) added to module-display, rstack-app-switcher (Commerce),
  rstack-tab-bar (Funding & Commerce), e2e/fixtures/module-list
- Vite: 3 payment component build entries + payments.css repointed to modules/rpayments
2026-04-18 14:21:11 -04:00
Jeff Emmett 3a614e2866 rename: finish rschedule → rminders migration
Complete the rename started in dda7760 (which removed rschedule/ but
left callers unmigrated and the rminders/ dir uncommitted). Updates
vite.config.ts build entries, API base fetches in folk-comment-pin,
folk-rapp widget map, module-display meta, calendar reminder-drop
route, docs comment-panel, e2e fixtures, shell/landing/mcp-server
references, and backlog/ONTOLOGY docs.

Fixes vite build failure: "Could not resolve entry module
modules/rschedule/components/folk-schedule-app.ts".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 17:18:17 -04:00
Jeff Emmett 68648608a9 test(rsocials): Playwright smoke suite + planner reliability fixes
Adds e2e/tests/rsocials-campaign-flow.spec.ts — 13 tests covering the
unified campaign flow UX: dashboard → planner navigation, brief canvas
node (+ preview banner), markdown import modal, wizard handoff, and
API shape. 36 passed / 3 AI-skipped across chromium/firefox/mobile.

Bug fixes uncovered by the suite:
- markDownstreamStale only redraws when a node actually flips stale,
  so typing in an input node no longer destroys the open inline-edit
  overlay.
- executeSave wraps the local-first write in try/catch and nulls the
  client on failure, so a half-initialised client (WS down, IDB
  unavailable) falls through to localStorage instead of throwing
  "Document not open".
- init-failure path also nulls the client so the first save after a
  failed subscribe doesn't hit a doc that was never opened.

Test infra:
- server/security.ts + server/index.ts honour DISABLE_RATE_LIMIT=1
  (and NODE_ENV=test) to bypass HTTP rate limiter and anon WS-per-IP
  cap so the suite can run under 8 parallel workers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-16 16:59:59 -04:00
Jeff Emmett b51dac1b22 test(spaces): add API test script for space creation & member management
Covers 19 test cases: space CRUD, member add by username, role changes
(viewer/member/moderator/admin), email invites, removal, auth guards.
Run with: ./e2e/tests/space-members-api.sh <AUTH_TOKEN>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 21:15:52 -07:00
Jeff Emmett 275a613624 feat: add Playwright E2E test suite for all 25 rApps
Comprehensive smoke tests covering every module, landing pages, auth flows,
navigation, API endpoints, and shell UI — across Chromium, Firefox, and
mobile Chrome. 147 tests, all green against production.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 22:21:14 -07:00