From 8d0867a1a8146d02b02f58cb3beb654e371908dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Thu, 11 Jan 2024 15:52:53 +0100 Subject: [PATCH] ui: Forward server failures to toggle reaction to user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kévin Commaille --- crates/matrix-sdk-ui/src/timeline/inner/mod.rs | 7 +++++++ crates/matrix-sdk-ui/src/timeline/tests/reactions.rs | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/crates/matrix-sdk-ui/src/timeline/inner/mod.rs b/crates/matrix-sdk-ui/src/timeline/inner/mod.rs index 88e8fe134..609cb04dd 100644 --- a/crates/matrix-sdk-ui/src/timeline/inner/mod.rs +++ b/crates/matrix-sdk-ui/src/timeline/inner/mod.rs @@ -622,6 +622,13 @@ impl TimelineInner

{ } }; + if matches!( + result, + ReactionToggleResult::AddFailure { .. } | ReactionToggleResult::RedactFailure { .. } + ) { + return Err(super::Error::FailedToToggleReaction); + } + Ok(follow_up_action) } diff --git a/crates/matrix-sdk-ui/src/timeline/tests/reactions.rs b/crates/matrix-sdk-ui/src/timeline/tests/reactions.rs index c0b2c62f6..3b938dae3 100644 --- a/crates/matrix-sdk-ui/src/timeline/tests/reactions.rs +++ b/crates/matrix-sdk-ui/src/timeline/tests/reactions.rs @@ -51,7 +51,7 @@ async fn add_reaction_failed() { timeline .handle_reaction_response(&reaction, &ReactionToggleResult::AddFailure { txn_id }) .await - .unwrap(); + .unwrap_err(); assert_reactions_are_removed(&mut stream, &msg_id, msg_pos).await; assert_no_more_updates(&mut stream).await; @@ -135,7 +135,7 @@ async fn redact_reaction_failure() { &ReactionToggleResult::RedactFailure { event_id: event_id.clone() }, ) .await - .unwrap(); + .unwrap_err(); assert_reaction_is_updated(&mut stream, &msg_id, msg_pos, Some(&event_id), None).await; assert_no_more_updates(&mut stream).await; @@ -229,7 +229,7 @@ async fn reactions_store_timestamp() { &ReactionToggleResult::RedactFailure { event_id: msg_id.clone() }, ) .await - .unwrap(); + .unwrap_err(); // Restores an event with a valid timestamp. let event = assert_event_is_updated(&mut stream, &msg_id, msg_pos).await;