From 5796cac9476691cfec860168b7c4cd53c99b20eb Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 3 Apr 2026 19:41:40 +0000 Subject: [PATCH] fix: republish NIP-78 AppSpecificDataEvent when sendKind0EventsToLocalRelay changes Add Account.updateSendKind0EventsToLocalRelay() suspend fun that calls sendNewAppSpecificData() after updating the setting, matching the pattern used by updateFilterSpam/updateWarnReports. Update AccountViewModel to call this via launchSigner instead of directly mutating settings. https://claude.ai/code/session_01Er9VV7nHyDb5pihrunb81F --- .../main/java/com/vitorpamplona/amethyst/model/Account.kt | 8 ++++++++ .../amethyst/ui/screen/loggedIn/AccountViewModel.kt | 4 +--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt index a6374326e..0a1377559 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Account.kt @@ -436,6 +436,14 @@ class Account( return false } + suspend fun updateSendKind0EventsToLocalRelay(send: Boolean): Boolean { + if (settings.changeSendKind0EventsToLocalRelay(send)) { + sendNewAppSpecificData() + return true + } + return false + } + suspend fun updateFilterSpam(filterSpam: Boolean): Boolean { if (settings.updateFilterSpam(filterSpam)) { if (!settings.syncedSettings.security.filterSpamFromStrangers.value) { diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 6e66f791f..84889bb95 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -1144,9 +1144,7 @@ class AccountViewModel( fun filterSpamFromStrangers() = account.settings.syncedSettings.security.filterSpamFromStrangers - fun toggleSendKind0ToLocalRelay(enabled: Boolean) { - account.settings.changeSendKind0EventsToLocalRelay(enabled) - } + fun toggleSendKind0ToLocalRelay(enabled: Boolean) = launchSigner { account.updateSendKind0EventsToLocalRelay(enabled) } fun updateWarnReports(warnReports: Boolean) = launchSigner { account.updateWarnReports(warnReports) }