From 56de325bb88d636b0a51cb777895bb0aff07c9cd Mon Sep 17 00:00:00 2001 From: Casper Warden Date: Mon, 16 Jun 2025 02:59:36 +0100 Subject: [PATCH] [FIRE-35656] Add privacy option to block payment notification from muted avatars --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llviewermessage.cpp | 7 ++++++- .../default/xui/en/panel_preferences_privacy.xml | 8 ++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index c3243b7daec..0cc9ed80835 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -21130,6 +21130,17 @@ Change of this parameter will affect the layout of buttons in notification toast Value 1 + FSBlockPaymentNotificationFromMutedAvatars + + Comment + If enabled, the viewer not show incoming payment dialogs if the payment was sent by a blocked / muted avatar. + Persist + 1 + Type + Boolean + Value + 0 + FSShowGroupTitleInTooltip Comment diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 91792f18482..92c387f005c 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5826,6 +5826,7 @@ static void process_money_balance_reply_extended(LLMessageSystem* msg) bool you_paid_someone = (source_id == gAgentID); std::string gift_suffix = (transaction_type == TRANS_GIFT ? "_gift" : ""); + bool is_muted = false; if (you_paid_someone) { if(!gSavedSettings.getBOOL("NotifyMoneySpend")) @@ -5947,7 +5948,7 @@ static void process_money_balance_reply_extended(LLMessageSystem* msg) // FIRE-21803: Prevent cheating IM restriction via pay message //if (!reason.empty() && !LLMuteList::getInstance()->isMuted(source_id)) - bool is_muted = LLMuteList::getInstance()->isMuted(source_id); + is_muted = LLMuteList::getInstance()->isMuted(source_id); if (!reason.empty() && !is_muted && RlvActions::canReceiveIM(source_id)) // { @@ -6013,6 +6014,10 @@ static void process_money_balance_reply_extended(LLMessageSystem* msg) } else { + if (is_muted && gSavedSettings.getBOOL("FSBlockPaymentNotificationFromMutedAvatars")) + { + return; + } LLAvatarNameCache::get(name_id, boost::bind(&money_balance_avatar_notify, _1, _2, notification, final_args, payload)); } } diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml index 1feddaa65d7..d87c52bdbda 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml @@ -206,6 +206,14 @@ name="FSCreateGiveInventoryParticleEffect" top_pad="3" width="350" /> +