From 1c663cb26bde356dbfa11c039e483c48673a1af3 Mon Sep 17 00:00:00 2001 From: Nathan Day Date: Mon, 16 Mar 2026 10:32:18 +0000 Subject: [PATCH] Fix swipe-back triggering unwanted draft deletion signing When swiping back on a DM screen with an empty message, the BackHandler was calling sendDraftSync() which checks if the message is blank and then calls deleteDraftIgnoreErrors(). This creates and signs a NIP-09 DeletionEvent, prompting the external signer to sign a deletion event. The fix adds a check to only call sendDraftSync() when there's actual content in the message, avoiding the unnecessary signing prompt. --- .../chats/privateDM/send/PrivateMessageEditFieldRow.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/PrivateMessageEditFieldRow.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/PrivateMessageEditFieldRow.kt index 2615ac2ec6..18df26d779 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/PrivateMessageEditFieldRow.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/privateDM/send/PrivateMessageEditFieldRow.kt @@ -88,10 +88,12 @@ fun PrivateMessageEditFieldRow( nav: INav, ) { BackHandler { - accountViewModel.launchSigner { - channelScreenModel.sendDraftSync() - channelScreenModel.cancel() + if (channelScreenModel.message.text.isNotBlank()) { + accountViewModel.launchSigner { + channelScreenModel.sendDraftSync() + } } + channelScreenModel.cancel() nav.popBack() }