diff --git a/bindings/matrix-sdk-ffi/src/timeline/mod.rs b/bindings/matrix-sdk-ffi/src/timeline/mod.rs index 08f15ba076..de95ef220a 100644 --- a/bindings/matrix-sdk-ffi/src/timeline/mod.rs +++ b/bindings/matrix-sdk-ffi/src/timeline/mod.rs @@ -918,12 +918,21 @@ pub enum EventSendState { /// /// Happens only when the room key recipient strategy (as set by /// [`ClientBuilder::room_key_recipient_strategy`]) has - /// [`error_on_verified_user_problem`](CollectStrategy::DeviceBasedStrategy::error_on_verified_user_problem) set. + /// [`error_on_verified_user_problem`](CollectStrategy::DeviceBasedStrategy::error_on_verified_user_problem) + /// set, or when using [`CollectStrategy::IdentityBasedStrategy`]. VerifiedUserChangedIdentity { /// The users that were previously verified, but are no longer users: Vec, }, + /// The user does not have cross-signing set up, but + /// [`CollectStrategy::IdentityBasedStrategy`] was used. + CrossSigningNotSetup, + + /// The current device is not verified, but + /// [`CollectStrategy::IdentityBasedStrategy`] was used. + SendingFromUnverifiedDevice, + /// The local event has been sent to the server, but unsuccessfully: The /// sending has failed. SendingFailed { @@ -977,6 +986,10 @@ fn event_send_state_from_sending_failed(error: &Error, is_recoverable: bool) -> VerifiedUserChangedIdentity(bad_users) => EventSendState::VerifiedUserChangedIdentity { users: bad_users.iter().map(|user_id| user_id.to_string()).collect(), }, + + CrossSigningNotSetup => EventSendState::CrossSigningNotSetup, + + SendingFromUnverifiedDevice => EventSendState::SendingFromUnverifiedDevice, }, _ => EventSendState::SendingFailed { error: error.to_string(), is_recoverable }, diff --git a/crates/matrix-sdk-crypto/src/error.rs b/crates/matrix-sdk-crypto/src/error.rs index 4870480197..ea361fcaa4 100644 --- a/crates/matrix-sdk-crypto/src/error.rs +++ b/crates/matrix-sdk-crypto/src/error.rs @@ -409,13 +409,13 @@ pub enum SessionRecipientCollectionError { VerifiedUserChangedIdentity(Vec), /// Cross-signing is required for encryption when using - /// [`CollectStrategy::IdentityBased`]. - #[error("Encryption failed because cross-signing is not setup on your account")] + /// [`CollectStrategy::IdentityBasedStrategy`]. + #[error("Encryption failed because cross-signing is not set up on your account")] CrossSigningNotSetup, /// The current device needs to be verified when encrypting using - /// [`CollectStrategy::IdentityBased`]. Apps should prevent sending in the - /// UI to avoid hitting this case. + /// [`CollectStrategy::IdentityBasedStrategy`]. Apps should prevent sending + /// in the UI to avoid hitting this case. #[error("Encryption failed because your device is not verified")] SendingFromUnverifiedDevice, }