Skip to content

refactor(rust)!: bind SSO account holder adapters - #1303

Draft
pgherveou wants to merge 24 commits into
refactor/account-holder-walletfrom
refactor/account-holder-sso
Draft

pgherveou wants to merge 24 commits into
refactor/account-holder-walletfrom
refactor/account-holder-sso

Conversation

@pgherveou

@pgherveou pgherveou commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

experimental do not review yet

SsoAccountHolderClient and SsoAccountHolderService use the existing SSO messages. Incoming requests bind lazily per peer to a wallet activation; binding failures leave app startup and other peers available, and stale activations produce a not-connected response. SsoRequestService owns paired-session persistence.

Validation: workspace and strict Rust/WASM checks, regenerated native bindings, Kotlin SDK compilation and iOS SSO tests.

@pgherveou
pgherveou added this pull request to stack #1304 October 7, 2026 14:53
@github-actions github-actions Bot added documentation Improvements or additions to documentation rfc rust Pull requests that update rust code host-ios Touches the iOS host tree host-android Touches the Android host tree labels Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

This pull request touches an app, which is not built by default. Add a label for each build you want:

  • iOS simulator build, ios-simulator-build: builds the iOS app, runs its tests and attaches a build for the iOS Simulator on a Mac.
  • iOS device build, ios-device-build: attaches a signed build that installs on a registered iPhone or iPad.
  • Android build, android-device-build: attaches an APK that installs on an Android phone or an emulator.

Each starts as soon as it is added and follows the branch from then on.

@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Bundle size report

Compared with main at f106839.

Raw Gzip Brotli
truapi-host 7.84 MiB (+35.9 KiB, +0.4%) 5.65 MiB (+15.0 KiB, +0.3%) 5.38 MiB (+10.7 KiB, +0.2%)
truapi-provider 4.03 MiB 1.27 MiB 959.8 KiB
truapi 5.72 MiB 806.6 KiB 661.3 KiB
Total 17.59 MiB (+35.9 KiB, +0.2%) 7.71 MiB (+15.0 KiB, +0.2%) 6.96 MiB (+10.7 KiB, +0.2%)

WebAssembly modules

Raw Gzip Brotli
truapi-host/wasm/web/truapi_server_bg.wasm 2.73 MiB (+35.9 KiB, +1.3%) 979.5 KiB (+15.0 KiB, +1.6%) 739.0 KiB (+10.7 KiB, +1.5%)
truapi-host/wasm/web/truapi_verifiable_bg.wasm 4.89 MiB 4.64 MiB 4.61 MiB
truapi-provider/truapi_provider_bg.wasm 3.99 MiB 1.26 MiB 952.1 KiB
Changed files (2)
Raw Gzip Brotli
truapi-host/wasm/web/truapi_server_bg.wasm 2.73 MiB (+35.9 KiB, +1.3%) 979.5 KiB (+15.0 KiB, +1.6%) 739.0 KiB (+10.7 KiB, +1.5%)
truapi-host/wasm/web/truapi_server.js 58.0 KiB (+3 B) 10.6 KiB (+2 B) 9.1 KiB (-20 B, -0.2%)

Commit: bd2dcb1

@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

CI Status: 24 required jobs green, 21 passed and 3 skipped by path filter.

All job results
job result
android-bindings success
bundle-size success
changes success
changeset-guard success
cli-package success
codegen success
e2e skipped
explorer success
headless-install success
host-android-bindings success
host-android-detekt success
host-wasm success
ios-bindings success
ios-swift success
licenses success
playground success
provider-android-bindings skipped
release-guard success
rust success
ts-client success
ts-debugger success
ts-host success
wasm-provider success
workflow-lint skipped

Signing credentials: failure as of 2026-10-07, a release may fail

Commit bd2dcb1f · run log

…older-sso

# Conflicts:
#	README.md
#	rust/crates/truapi/src/runtime/pairing_host.rs
A paired host forwards wallet requests without its own review, including
the first fetch of a product's own subtree key; it still reviews what it
signs with a kept key.
Pairing answers, the serve loop, duplicate detection and native transport
binding move out of SigningHost, which builds the service for its wallet.
SsoRequestService keeps its own session counter and reports session ends to
its PairedSessionOwner, borrowing the owner's write barrier for ordering.
Logout's AutoSigning reset and the grant cache clears move to the owner.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation host-android Touches the Android host tree host-ios Touches the iOS host tree rfc rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant