Add Matrix cross-signing upload endpoints - #20
Merged
Merged
Conversation
This was referenced Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add the two Matrix upload endpoints needed by cross-signing bootstrap:
mx_keys_device_signing_upload()sends public cross-signing key objects with caller-supplied UIA, andmx_keys_signatures_upload()sends signatures over device or cross-signing keys and returns per-signature failures.These remain thin HTTP bindings. Signing, canonicalization, identity reset policy, and UIA retry orchestration belong to mx.client. Tests verify endpoint paths, unchanged payloads, UIA passthrough, and empty-input rejection.
Validation: final source installed into an isolated library; the full mx.api suite passes 208/208.
Release version is 0.3.0.2. The separate
Bump version to 0.3.0.2commit touches only DESCRIPTION and NEWS.md.Landing order: merge this and the mx.crypto primitives PR first, then publish mx.api 0.3.0.2 and mx.crypto 0.2.1.1 to the cornball-ai drat repository with Troy's separate authorization. mx.client CI requires those published versions; chat.api follows mx.client on main. Publication and bot deployment are not performed by this PR.