From dee535f30e7d64e6687efdbecfdf491303d2973d Mon Sep 17 00:00:00 2001 From: Thomas Eizinger Date: Tue, 21 Oct 2025 16:19:26 +1100 Subject: [PATCH] chore(client-ffi): tweak uniffi settings (#10665) As far as I can tell, the `async_runtime` config option doesn't exist in UniFFI, hence we remove that. Whilst going through the UniFFI docs, I also noticed that there is a specific flag about Android that we can toggle on. Effectively, this uses the shared [`SystemCleaner`](https://developer.android.com/reference/android/system/SystemCleaner) instead of a per-thread one which is supposed to be more performant. Finally, using immutable records seems like a good idea as mutating any FFI-originated field is not going to be reflected in connlib's state. Preventing that at compile-time has a good chance of reducing bugs. --- rust/client-ffi/uniffi.toml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/rust/client-ffi/uniffi.toml b/rust/client-ffi/uniffi.toml index 5feda5a2f..f7d6d483a 100644 --- a/rust/client-ffi/uniffi.toml +++ b/rust/client-ffi/uniffi.toml @@ -4,13 +4,9 @@ # Enable experimental features for better async support experimental_sendable_value_types = true -# Configure async runtime for Swift -# This enables proper async/await bridging from Rust to Swift -async_runtime = "tokio" - # Generate proper Swift concurrency annotations generate_immutable_records = true [bindings.kotlin] -# Kotlin configuration (already working) -async_runtime = "tokio" +android = true +generate_immutable_records = true