Skip to content

Fix cancellation, auth cleanup and Activity recovery after merge - #670

Merged
zackbart merged 2 commits into
mainfrom
fix/third-reliability-sweep
Oct 1, 2026
Merged

zackbart merged 2 commits into
mainfrom
fix/third-reliability-sweep

Conversation

@zackbart

@zackbart zackbart commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

What changes

This third sweep fixes ten failures found after #659 merged. Already-cancelled deadline operations no longer dispatch work, null abort reasons survive the Promise boundary, and malformed executor replies return structured failures. OAuth callbacks and credential tests close their scopes after final use. Credential routes own one bounded teardown, including decorated remote connectors and copied contexts, while standalone remote credential tests retain their cleanup behavior.

OAuth handoffs claim ownership atomically on CAS-capable storage. Activity loading shows a retryable error for unreadable pages and discards superseded pagination. Memory and D1 storage reject invalid expiry values before mutation, and D1 lists match embedded NUL bytes literally.

Verification

  • Three fresh GPT-6.1-Sol investigators worked in isolated checkouts. Every confirmed bug has an observed regression failure before its fix; parent also reproduced storage and copied-context failures.
  • A separate fresh GPT-6.1-Sol reviewer found the duplicate teardown, then re-reviewed the correction with no remaining findings. A separate tester passed the full initial Node/Workers suite and independent boundary probes, then 714 focused final tests and ownership probes.
  • Final npm run release:check passed on 894fd4911460b97a22035ab25a996e366b5a1b51: 5,056 tests, 56 existing skips, 57 Chromium tests, all static/type/build/declaration/bundle/example checks, zero production dependency vulnerabilities, and package smoke with a real Docker deployment. The tarball contains 189 files.
  • CI passed on the final commit.

The independent CLI tester could not launch Chromium under the macOS sandbox; the parent ran all 57 browser cases. Its shared dependency symlink also changed only esbuild path comments; generated output matches after path normalization, and the canonical checkout's generation check passed.

Scope and limits

Atomic handoff ownership requires compareAndSet. Storage without CAS retains existing consistency limits; built-in OAuth generates random 256-bit state. Public Promise APIs, the eight MCP tools, and dependency versions keep their contracts.

Fixes #660
Fixes #661
Fixes #662
Fixes #663
Fixes #664
Fixes #665
Fixes #666
Fixes #667
Fixes #668
Fixes #669

@zackbart
zackbart marked this pull request as ready for review October 1, 2026 17:06
@zackbart
zackbart merged commit 049a26a into main Oct 1, 2026
1 check passed
@zackbart zackbart mentioned this pull request Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment