Skip to content

Fix QKMS async CreateKey and timeout behavior - #1

Merged
thecompez merged 1 commit into
mainfrom
fix/qkms-async-create-key
Sep 22, 2026
Merged

thecompez merged 1 commit into
mainfrom
fix/qkms-async-create-key

Conversation

@thecompez

Copy link
Copy Markdown
Owner

What this fixes

  • Adds signed CreateKey?async=1 support to match the official Quilibrium QKMS SDK/sample and avoid long-lived MPC/DKG requests being killed by proxy/CDN timeouts.
  • Uses QKMS-compatible Content-Type: application/json.
  • Marks both blocking and async CreateKey calls non-idempotent so timeout/5xx handling cannot automatically retry and create duplicate key tasks.
  • Documents the boundary between this SDK's direct QKMS HTTP surface and participant-side QNZM/MPC sidecar ceremony orchestration.
  • Adds facade/service tests for async target, content type, and non-idempotent CreateKey behavior.
  • Fixes the stale C API version assertion (1.1.0 -> 1.2.0) exposed by the full test run.

Verification

Clean GNU 16.2 / C++23 / Ninja build with warnings-as-errors completed successfully.

ctest --test-dir build-qkms-clean --output-on-failure:

  • 7/7 tests passed
  • quilibrium_facade_tests passed
  • quilibrium_service_tests passed
  • quilibrium_c_api_tests passed
  • git diff --check clean

Scope note

This fixes the SDK-side HTTP/timeout behavior. It intentionally does not reimplement the browser/server participant-side MPC ceremony; that layer belongs to Quilibrium's official qkms-sdk. If an async CreateKey task is accepted but the service participant still fails to advance/complete its ceremony task, that is an upstream QKMS/server-side issue rather than this SDK's HTTP wrapper.

@thecompez
thecompez merged commit 2a627a3 into main Sep 22, 2026
6 checks passed
@thecompez
thecompez deleted the fix/qkms-async-create-key branch September 22, 2026 05:38
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