Skip to content

fix(x402): preserve handled failures after waiter cancellation - #18

Merged
nkavian merged 1 commit into
inflowpayai:mainfrom
nkavian:fix/python-cancelled-waiters
Oct 4, 2026
Merged

nkavian merged 1 commit into
inflowpayai:mainfrom
nkavian:fix/python-cancelled-waiters

Conversation

@nkavian

@nkavian nkavian commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix Python 3.14 exception diagnostics after a caller cancels an x402 capability refresh or a prepared-payment wait. The shared operation can still fail after cancellation; that error remains handled by the SDK and available to other callers.

Use the same shared-task waiting pattern as TAP verification, without changing payment requests, approval cancellation, cache lifetimes, or hook execution. Leave bounded approval cleanup unchanged.

Verification

  • Add eight regression cases covering Seller configuration/capabilities, Buyer capabilities, and application hooks, with and without another waiting caller.
  • Verify preserved error identity, cached hook errors, one shared request, and no implicit approval cancellation.
  • Run the full Python 3.11–3.14 repository checks, package-consumer checks, and shared conformance suites.

No public API, dependency, version, or release changes.

@nkavian
nkavian merged commit 99af750 into inflowpayai:main Oct 4, 2026
12 checks passed
@nkavian
nkavian deleted the fix/python-cancelled-waiters branch October 4, 2026 03:03
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.

1 participant