Repository navigation
Release v9.3.1 - #206
Release v9.3.1#206
Conversation
Release v9.3.0 (merge back into develop)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ent-network-errors fix(transport): retry idempotent requests on network failures
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
It is a publish-triggering release PR into main that introduces new automatic retry/timing behavior into the core transport path used by multiple production frontends, which warrants final human review.
Review effort: Balanced
Findings: None
What changed in this PR
This is the machine-generated release/* → main PR cutting v9.3.1 (9.3.0 → 9.3.1). Beyond the standard version/changelog mechanics, the release carries one behavior change to the shared transport layer: fetchWrapper now transparently retries idempotent requests when the underlying fetch call throws (e.g. a dropped keep-alive connection), improving resilience for all consuming frontends.
Changes:
- Add
fetchWithNetworkRetrythat retriesGET/HEADup to twice (300 ms, 900 ms) whenfetchthrows, while never retrying error responses, aborted requests, or non-idempotent methods. - Expand
fetch-wrapper.test.tswith retry/recovery, POST, abort, error-response, and exhausted-retry cases (updated existing network-failure tests to drive fake timers). - Bump package version to 9.3.1 and add the matching
[9.3.1]CHANGELOG entry.
| File | Description |
|---|---|
packages/app-kit/src/transport/fetch-wrapper.ts |
Introduces bounded network-retry wrapper around fetch, limited to idempotent methods and short-circuited on abort. |
packages/app-kit/src/transport/fetch-wrapper.test.ts |
Adds coverage for retry success, non-retry cases (POST/abort/error response), and retry exhaustion; adapts existing tests to fake timers. |
packages/app-kit/package.json |
Bumps version from 9.3.0 to 9.3.1. |
CHANGELOG.md |
Documents the transport retry fix under a new [9.3.1] entry. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Release v9.3.1 (9.3.0 -> 9.3.1). After this merges, run
pnpm tag-releaseonmainto tag and trigger the publish workflow, then merge the companion PR intodevelop.