Skip to content

[BUG] e2e harness has no view-state isolation suite; webview reload/rehydration untested end-to-end (vps2 F6; upstream #929) #1563

Description

@easonLiangWorldedtech

Gap

At the stack head, the e2e harness (apps/vscode-e2e) carries no view-state isolation coverage: no e2e test exercises the durable per-view mode through real panels, and the webview reload/rehydration path is only unit-covered (the parallelMode rehydration describe) — there is no end-to-end proof that the durable per-view mode survives a sidebar webview reload. A5 re-review minor 2 names this exactly: the view-state suite never reloads the webview.

Upstream provenance

  • Upstream issue: [909] CodeRabbit Review Findings — View State Isolation Bugs #929 ("[909] CodeRabbit Review Findings — View State Isolation Bugs") — the A5 re-review series; minor 2 is the missing e2e reload/rehydration assertion. Closed/superseded by the vps2 series.
  • Port source: the CS worktree apps/vscode-e2e (e9a44b2, the A5 re-review state) — 3 of the 4 files byte-identical; the reload test is F6-authored.

Fix unit

vps2 F6 of the durable per-view state series (fork tracking issue easonLiangWorldedtech#41). Draft PR: to be opened immediately after this issue (branch vps2/f6-e2e-viewstate, stacked on the re-stacked F5 head 95a18b2; head f42c571).

Fix scope (4 files, all under apps/vscode-e2e/, 543 insertions / 0 deletions = a+d 543 measured vs the re-stacked F5 head)

  1. apps/vscode-e2e/fixtures/modes.json — the debug-mode switch_mode fixture entry (call_modes_switch_002) used by the ten-rounds test.
  2. apps/vscode-e2e/src/runTest.ts — the addViewStateFixtures wiring + the two model-agnostic post-switch predicate fixtures (call_modes_post_switch_001/002).
  3. apps/vscode-e2e/src/fixtures/view-state.ts — the per-task marker fixtures + the getFollowupModeIsolationPlan (three-panel, ten staggered rounds) plan.
  4. apps/vscode-e2e/src/suite/view-state.test.ts — the ported suite "Roo Code View State" (2 tests: sidebar/tab isolation through the real ContextProxy singleton; three-panel ten-round follow-up isolation) + the F6-authored sidebar webview reload/rehydration test (A5 minor 2).

Series note

Draft PR; this unit is the 8th of the merge chain (F1a to F1b to F1c to F2 to F3 to F4 to F5 to F6 to F7). Test-only unit: no production code changes. The PR body documents the port-fidelity verification (byte-identical CS blobs), the full solo e2e gate, and the vacuous mutation-diff gate. No Closes/Fixes/Resolves linkage — this issue is the series gap record for the unit.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions