From 52eff4aa2996efe1170b844385bcb277273f01b2 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 10 Aug 2026 17:12:45 +0000 Subject: [PATCH] Fix media send flow deleting in-flight pre-uploaded attachments on exit. --- .../java/org/signal/mediasend/MediaSendFlowViewModel.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/feature/media-send/src/main/java/org/signal/mediasend/MediaSendFlowViewModel.kt b/feature/media-send/src/main/java/org/signal/mediasend/MediaSendFlowViewModel.kt index e09d06b677..ec71dfaccc 100644 --- a/feature/media-send/src/main/java/org/signal/mediasend/MediaSendFlowViewModel.kt +++ b/feature/media-send/src/main/java/org/signal/mediasend/MediaSendFlowViewModel.kt @@ -1366,8 +1366,14 @@ class MediaSendFlowViewModel( //region Lifecycle + /** + * A send that picks its destination from the forward sheet finishes the activity as soon as it hands us the + * selection, so the send is usually still running when we get here. Cleaning up in that case would cancel the + * uploads it depends on and sweep away any attachment it hasn't finished attributing to a message yet, so we leave + * it alone and let the send do its own cleanup. Anything a failed send leaves behind is swept on next app start. + */ override fun onCleared() { - if (internalState.value.isSent) { + if (internalState.value.isSent || internalState.value.isSending) { return }