rspace-online/modules/rsocials
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
..
components test(rsocials): Playwright smoke suite + planner reliability fixes 2026-04-16 16:59:59 -04:00
lib feat(rinbox): bridge Listmonk newsletter campaigns with multisig approval 2026-03-21 15:03:06 -07:00
applets.ts feat(canvas): rApplet Phase 2 — port chips, data flow, toolbar palette, 15 module applets 2026-04-15 13:08:49 -04:00
campaign-data.ts feat(rsocials): AI campaign generator from event brief 2026-03-12 13:59:56 -07:00
landing.ts fix: disable all feature tours — shell welcome tour, TourEngine, landing links 2026-04-15 11:12:00 -04:00
local-first-client.ts feat(rsocials): add Campaign Wizard with 5-step AI-guided creation flow 2026-03-21 14:41:45 -07:00
mod.ts feat(rsocials): campaign planner polish 2026-04-16 16:13:20 -04:00
schemas.ts feat(rsocials): campaign planner polish 2026-04-16 16:13:20 -04:00