Minimal millisecond-resolution perf logger that writes straight to
Android logcat (or stderr off-Android) without pulling in log +
android_logger crates. Used to diagnose where time goes between an
FFI dispatch, the core thread processing, and the UI reconcile.
Decrypt a notification payload against the persisted double-ratchet
state under data_dir. Use from the FCM service (Android) or
Notification Service Extension (iOS) where there’s no live FfiApp.
Falls back to the generic resolver when keys, payload, or storage
are unavailable so the user still gets some notification.
Render text to a QR-code module matrix. Returns a square matrix encoded
as 1/0 characters in row-major order. Returns None for inputs that
don’t fit at the medium error-correction level.
Convert any pubkey-shaped input (hex, npub, nprofile, …) to its
canonical lowercase-hex form. The empty string is returned when the
input can’t be parsed as a public key — callers expecting hex
downstream can short-circuit on that.