Skip to content

test(e2e): dispatch + multiplayer harness with phase-gated blank-pane specs - #2339

Merged
2witstudios merged 2 commits into
pu/broken-sessionsfrom
test/e2e-dispatch-harness
Aug 6, 2026
Merged

test(e2e): dispatch + multiplayer harness with phase-gated blank-pane specs#2339
2witstudios merged 2 commits into
pu/broken-sessionsfrom
test/e2e-dispatch-harness

Conversation

@2witstudios

Copy link
Copy Markdown
Owner

Phase 0 of the Agent-Session Single Source of Truth epic: the executable spec for the epic's canonical bug, landed ahead of the fix.

What this adds

  • apps/e2e/fixtures/dispatch.fixture.ts — server-side dispatch through the real chat pipeline (page-chat via POST /api/ai/chat, global assistant via the messages API), plus openChatPane, openTwoWindows, and renderedMessages helpers.
  • apps/e2e/tests/16-dispatch-multiplayer.spec.ts — 2 passing smoke specs that pin the harness (dispatch persists; message visible after reload), and 2 test.fixme specs that ARE the blank-pane bug: (a) a dispatch into an open pane renders live without refresh; (b) two windows both see a dispatched turn live. Phase 2 (plan PR 3) deletes the .fixmes — that flip is its merge gate.
  • Repair of a master regression: the unified-AgentView commit (e479b0053) deleted AiChatView.tsx and its ai-chat-view testid, silently breaking every UI assertion in spec 15. Fixture now targets the current session-chat root.

Verification

5 passed, 2 fixme-skipped, 0 failed (13s) against a production build + scratch Postgres 17. e2e typecheck clean.

Notable for local runs: next dev cannot serve this app under its own CSP (buildCSPPolicy emits script-src without unsafe-eval, no dev exemption) — e2e must run against next build && next start; production start needs a dummy SENTRY_DSN.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XnzUuAixdTJ8xDpP5S92Ts

… after phase-6 AgentView

Phase 0 of the Agent-Session Single Source of Truth epic: a dispatch fixture
(server-side message injection through the real chat pipeline) plus spec 16 —
two passing smokes that pin the harness (page-chat dispatch persists both
sides of the turn; global-assistant dispatch persists through the messages
API), and two test.fixme specs that are the epic's canonical blank-pane bug
written as the executable spec Phase 2 (plan PR 3) must flip green.

Also repairs the existing chat fixtures: the phase-6 unified AgentView
(e479b00) deleted AiChatView.tsx and with it the ai-chat-view testid, which
silently broke every UI assertion in spec 15 — the page-chat surface root is
now session-chat (SessionChat). Verified against a production build (Next dev
cannot run under the app's CSP: script-src has no unsafe-eval, so dev-mode
eval bundles never hydrate): spec 15's three smokes and spec 16's two smokes
all pass; the two fixme repros skip.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XnzUuAixdTJ8xDpP5S92Ts
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cebb598f-8505-452b-b55d-f51600636b09

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

2witstudios added a commit that referenced this pull request Aug 6, 2026
…ntegration branch

The Agent-Session Single Source of Truth epic integrates through
pu/broken-sessions before reaching master, following the same pattern as
pu/flash-sandbox and pu/panes-agent. Without the base-branch filter entry,
PRs targeting the integration branch get zero CI (observed on #2339).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XnzUuAixdTJ8xDpP5S92Ts
@2witstudios 2witstudios closed this Aug 6, 2026
@2witstudios 2witstudios reopened this Aug 6, 2026
@2witstudios
2witstudios merged commit aec7b83 into pu/broken-sessions Aug 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant