You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6ce1a53
Browse filesBrowse the repository at this point in the historyBrowse files
fix(cloud): roll the request deadline by hand instead of AbortSignal.any
`AbortSignal.any([caller, AbortSignal.timeout(ms)])` has a history of dropping
the timeout: the composed signal can be collected while the request is in
flight, so the deadline never fires and the request hangs — the exact failure
the deadline exists to prevent (nodejs/node#57736, fixed by nodejs/node#57867).
Raising the package's Node floor would fix it, but that is a breaking
constraint on every consumer to work around an implementation detail. Wiring
the controller by hand behaves identically on every supported version, and
lets the timer be cleared once the request settles rather than leaving one
pending per request for its full timeout. The body read moved inside the
deadline too — headers can arrive promptly while the body stalls.
Also from review:
- Docs: `--session` is cloud-only, so the flag table says so.
- Docs: the isolation wording implied `storageMode: 'readonly'` removed
project-file interaction. It stops *writes*; the session still reads the same
shared files. Split into what is and is not isolated.
- Docs: the sessions example called `getNotebook` without importing it, and
passed the optional `sessionNotebookId` where a string is required — neither
would have compiled if copied.
- Tests: the pending-fetch helper now rejects immediately for an
already-aborted signal, as real fetch does. Added cases for timer cleanup on
both the success and failure paths, and for an already-aborted caller signal.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments