signInWithState

suspend fun signInWithState(config: AccountConfig, state: ByteArray, apiKey: String, password: String): Client

Sign in and restore a full session state saved by exportState.

This is the difference between keeping an identity and keeping a conversation. signInWithIdentity restores who you are, and every live ratchet starts again from nothing; this restores the ratchets too, so messages already in flight still decrypt after a restart.

Until 2026-08-05 the bindings offered only the identity form, so a Swift or Kotlin app could not resume a session at all -- found by external review, EX-13. The Rust client had carried both since decision 0051.