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
This commit is contained in:
Claude
2026-04-03 19:41:40 +00:00
committed by greenart7c3
parent 68623a43f9
commit 5796cac947
2 changed files with 9 additions and 3 deletions
@@ -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) {
@@ -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) }