Softchat Account
The Android account entry point.
Rust owns the SQLite schema, migrations, transactions, authenticated protocol truth, projections, delivery state, relay state, synchronization checkpoints, and use-case queries. Android supplies one private database path per account and retains lifecycle, HTTP, files, WorkManager, notifications, and UI. Relay sockets may be delegated to the managed transport while Android supplies platform trust and connectivity hints.
Product methods are bounded suspend calls and observations are Flow values backed by the durable Rust revision. The account opens no socket until startManagedTransport(context) is called. When optional SoftchatLogging is configured, one account-scoped coroutine drains a bounded native ring off operation/native threads. Closing the account first stops any managed transport, then completes observations, closes SQLite, and erases authority.
Types
Properties
Android-local address-book labels stored in the Rust account database.
Complete conversation state and bounded observations.
Identity-derived database filename, without the private directory.
Exact authenticated event detail and relationship queries.
Atomic incoming authentication and storage operations for system adapters.
Logical attachment operations and media gallery queries.
Complete message queries and high-level messaging commands.
Durable outgoing-operation inspection and recovery.
Effective profile and follow-list operations.
Durable FCM/APNs registration.
Bounded one-shot import from retired, platform-owned storage.
Durable relay catalog and selection operations.
Account-scoped stickers and link-preview cache stored by Rust.
Versioned cross-device account settings.
Redacted account health and recovery operations.
Rust-owned synchronization coordinator entry points.
Low-level transport execution boundary for hosts that own their socket.