Stabilize C# rewind E2E initialization - #2661
Conversation
Wait for file-change tracking to establish its baseline before the first mutating turn, matching the runtime protocol E2E and preventing missed rewind captures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The focused synchronization correctly addresses the initialization race without altering tested behavior.
Review tier: Balanced
Findings: None
What changed in this PR
Adds synchronization to prevent the C# rewind E2E from mutating files before tracking initialization completes.
Changes:
- Polls until file-change tracking is enabled with no rewind points.
- Provides a 30-second timeout with a clear failure message.
| File | Description |
|---|---|
dotnet/test/E2E/RewindE2ETests.cs |
Waits for tracking initialization before the first edit. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
SDK Consistency Review — PR #2661Scope of change: Only Finding: No consistency issue. This change is confined to a .NET E2E test file and does not touch any SDK client/library code ( No action needed for cross-SDK parity.
|
The C# rewind E2E can send its first file-mutating turn before runtime file-change tracking has established the initial baseline. When that race occurs, the first capture is incomplete and the test times out waiting for two restorable rewind points.
Wait for
session.history.listRewindPointsto report enabled tracking with an initialized empty point set before sending the first edit. This matches the runtime protocol E2E synchronization and preserves the existing behavior under test.Validation: the focused rewind E2E passed 10 consecutive runs against Copilot CLI 1.0.84-6, and the rewind plus MCP OAuth lifecycle tests passed together.
Generated by Copilot