Skip to content

fix(reliability): keep pause/cancel failures visible and recoverable#174

Merged
Wangnov merged 8 commits into
mainfrom
codex/issue-168-progress-stop-recovery
Jul 11, 2026
Merged

fix(reliability): keep pause/cancel failures visible and recoverable#174
Wangnov merged 8 commits into
mainfrom
codex/issue-168-progress-stop-recovery

Conversation

@Wangnov

@Wangnov Wangnov commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Keep pause/cancel/discard failures visible inside the active progress surface as structured role="alert" feedback, with distinct copy for delivery failure, backend refusal, and an operation that has already entered an uninterruptible phase.
  • Preserve the actual task state when stop requests fail: controls return to a retryable state, a paused discard failure remains paused with both resume and retry-cancel available, and late completions from an older request cannot overwrite a newer operation.
  • Bind every pause/cancel IPC to the exact backend operation token and serialize ownership on macOS and Windows, so a delayed request from operation A cannot arm operation B. Every native/window quit path now atomically arms cancellation before commit; nested guards preserve that latch, updates check it after the phase boundary, and non-resumable uninstall/purge work blocks quit throughout.
  • Add symmetric macOS/Windows regression coverage for false/rejected pause and cancel requests, failed paused-cache discard, stale completion events, and high-concurrency operation-lock behavior.

Validation

  • npm run check — pass
  • npm run lint — pass
  • npm test — pass (20 files / 135 tests)
  • npm run build — pass
  • cargo clippy --manifest-path src-tauri/Cargo.toml --workspace --all-targets -- -D warnings — pass
  • cargo test --manifest-path src-tauri/Cargo.toml --workspace — pass (97 tests)
  • operation-lock stress regression, 100 iterations with --test-threads=64 — pass
  • confirmed-quit/commit-boundary stress regression, 100 iterations — pass
  • destructive-token claim vs. quit stress regression, 100 iterations — pass
  • git diff --check origin/main...HEAD — pass
  • Exact codex review --base origin/mainpass: no P1/P2 and no findings (未发现明确且可操作的功能性缺陷。)
  • GitHub PR checks — pass (6/6)

Deployment notes

None. This changes runtime recovery behavior only and does not require a persisted-data migration.

Closes #168

@Wangnov Wangnov marked this pull request as ready for review July 11, 2026 12:29
@Wangnov Wangnov merged commit bbef1e6 into main Jul 11, 2026
6 checks passed
@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.

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.

fix(reliability): keep pause/cancel failures visible and recoverable

1 participant