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 dc09b59
Browse filesBrowse the repository at this point in the historyBrowse files
settleOnAbort's already-aborted early return handed the caller the
abort error without attaching a rejection handler to the pending
promise, exposing a rejecting pending promise as an unhandled
rejection. A no-op rejection guard now runs before the early return
(same shape as rejectOnAbort's existing guard). New test aborts with a
rejecting pending promise and asserts no unhandledRejection fires
while the abort error surfaces (negative control: removing the guard
fails exactly that test).
QwenCodeHandler duplicated credential loading after cancellation:
createMessage/completePrompt race ensureAuthenticated() with
settleOnAbort, so a cancelled first request left its load running and
a second request started a fresh credential read. ensureAuthenticated
now shares the in-flight load promise the same way refreshAccessToken
shares its refresh, cleared in a finally once the load settles, so a
failed load is retried by the next request. New tests: concurrent
cancel+retry reuses one credential read; success and failure both
clear the shared promise (negative control: breaking the reuse guard
fails exactly the reuse test; the test releases the hung read in a
finally so a failing run cannot leak the pending load into later
tests).
Review test-fidelity threads: the two qwen-code-native-tools 401
refresh tests now abort only after the refresh wait is established
(fetch never settles; drain until the fetch starts) instead of
aborting synchronously inside the fetch mock, which exercised only
the already-aborted fast path; the two qwen-code listener tests now
assert the exact registered listener reference is removed instead of
expect.any(Function).
Verification at this head: 128/128 green across abort-signal,
qwen-code, qwen-code-native-tools and lm-studio specs; tsc --noEmit 0
errors; eslint --max-warnings=0 clean with suppression counts
unchanged; prettier clean.
0 commit comments