commit 1328fa2a85e3bc232dca78b4d036d749ec5606fb
parent 375f8153fb6a7619713592498e8f90eaf457f771
Author: triesap <tyson@radroots.org>
Date: Sun, 9 Aug 2026 17:22:40 +0000
merge: reconcile mobile runtime and Blossom fixes
- Preserve the standalone authority and catalog hardening history.
- Integrate bounded public Blossom server error evidence.
- Integrate Tokio-context execution for exported mobile futures.
- Retain the exact merged lockfile and verified package boundaries.
Diffstat:
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/core/crates/tera_ffi/Cargo.toml b/core/crates/tera_ffi/Cargo.toml
@@ -32,7 +32,7 @@ tracing = { workspace = true }
tracing-appender = { workspace = true }
tracing-subscriber = { workspace = true }
thiserror = { workspace = true }
-uniffi = { workspace = true }
+uniffi = { workspace = true, features = ["tokio"] }
[target.'cfg(unix)'.dependencies]
rustix = { workspace = true }
diff --git a/core/crates/tera_ffi/src/dto.rs b/core/crates/tera_ffi/src/dto.rs
@@ -1874,6 +1874,7 @@ pub struct FfiBlossomEvidenceRecord {
pub observed_at_unix_ms: Option<u64>,
pub http_status: Option<u16>,
pub error_code: Option<String>,
+ pub server_error_code: Option<String>,
pub error_phase: Option<String>,
pub retryable: bool,
pub possible_orphan: bool,
@@ -1907,6 +1908,7 @@ impl From<SdkBlossomEvidenceRecord> for FfiBlossomEvidenceRecord {
observed_at_unix_ms: value.observed_at_unix_ms,
http_status: value.http_status,
error_code: value.error_code,
+ server_error_code: value.server_error_code,
error_phase: value.error_phase,
retryable: value.retryable,
possible_orphan: value.possible_orphan,
diff --git a/core/crates/tera_ffi/src/runtime.rs b/core/crates/tera_ffi/src/runtime.rs
@@ -43,7 +43,7 @@ pub struct RadrootsRuntime {
subscriptions: Arc<SubscriptionHub>,
}
-#[cfg_attr(not(coverage_nightly), uniffi::export)]
+#[cfg_attr(not(coverage_nightly), uniffi::export(async_runtime = "tokio"))]
impl RadrootsRuntime {
#[cfg_attr(not(coverage_nightly), uniffi::constructor)]
pub async fn new(
diff --git a/core/crates/tera_ffi/tests/runtime_delegation.rs b/core/crates/tera_ffi/tests/runtime_delegation.rs
@@ -123,13 +123,14 @@ async fn native_boundary_delegates_the_complete_core_surface() {
.sdk_blossom_evidence()
.expect("Blossom evidence")
.expect("configured evidence");
- assert_eq!(evidence.schema_version, 1);
+ assert_eq!(evidence.schema_version, 2);
assert_eq!(evidence.origin, "https://media.example");
assert_eq!(evidence.config_fingerprint, blossom.config_fingerprint);
assert_eq!(evidence.state, "configured_unobserved");
assert_eq!(evidence.transport_security, "public_webpki");
assert!(evidence.observed_at_unix_ms.is_none());
assert!(evidence.error_code.is_none());
+ assert!(evidence.server_error_code.is_none());
runtime
.configure_blossom(
FfiBlossomHostKind::Simulator,