From 16a75d1c833f4389bd278c3eaeeb4365be981758 Mon Sep 17 00:00:00 2001 From: Devdutt Shenoi Date: Thu, 13 Jun 2024 21:17:03 +0530 Subject: [PATCH] fix: mark cancellation as failure if action reaches completion --- uplink/src/base/bridge/actions_lane.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/uplink/src/base/bridge/actions_lane.rs b/uplink/src/base/bridge/actions_lane.rs index d7f15bd8..d05518e5 100644 --- a/uplink/src/base/bridge/actions_lane.rs +++ b/uplink/src/base/bridge/actions_lane.rs @@ -414,8 +414,13 @@ impl ActionsBridge { if let Some(CurrentAction { cancelled_by: Some(cancel_action), .. }) = self.current_action.take() { - let response = ActionResponse::success(&cancel_action); - self.streams.forward(response).await; + if response.is_failed() { + let response = ActionResponse::success(&cancel_action); + self.streams.forward(response).await; + } else { + // Marks the cancellation as a failure as action has reached completion without being cancelled + self.forward_action_error(&cancel_action, Error::FailedCancellation).await + } } return; }