Skip to content

fix: ignore stale Esc retractions safely - #18

Closed
asfires wants to merge 1 commit into
mainfrom
t3code/ignore-stale-esc-retraction
Closed

asfires wants to merge 1 commit into
mainfrom
t3code/ignore-stale-esc-retraction

Conversation

@asfires

@asfires asfires commented Aug 12, 2026

Copy link
Copy Markdown
Owner

What Changed

  • Validate provider rollback boundaries before interrupting an active turn.
  • Treat unavailable retained boundaries as silent, non-retryable retraction failures.
  • Restore the optimistic composer state when an Esc retraction is safely ignored.
  • Hide silent retraction failures from web and mobile error feeds while preserving ordinary failures.
  • Added focused server, provider, web, and mobile test coverage.

Why

A stale Esc retraction could target provider history that was no longer available, causing unnecessary interruption and surfacing an error even though the retraction could be safely discarded. Preflight validation now detects this case before mutating provider state, and the clients silently reconcile the optimistic UI back to its prior composer state.

UI Changes

Behavior-only UI change. No visual layout or styling changes; stale retraction errors are no longer surfaced, and the composer is restored silently.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

- Validate rollback boundaries before interrupting provider turns
- Silently restore optimistic composer state when boundaries are unavailable
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Aug 12, 2026
@asfires asfires closed this Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant