- merge : anonymize sender/recipient on inventory offers when @shownames=n restricted
--HG-- branch : RLVamaster
parent
668992731a
commit
bd347c599a
|
|
@ -46,7 +46,8 @@
|
|||
#include "llrecentpeople.h"
|
||||
#include "llviewerobjectlist.h"
|
||||
#include "llvoavatarself.h"
|
||||
// [RLVa:KB] - Checked: 2010-03-04 (RLVa-1.2.0a)
|
||||
// [RLVa:KB] - Checked: 2010-03-04 (RLVa-1.2.2a)
|
||||
#include "llavatarnamecache.h"
|
||||
#include "rlvhandler.h"
|
||||
#include "rlvui.h"
|
||||
// [/RLVa:KB]
|
||||
|
|
@ -304,15 +305,15 @@ void LLGiveInventory::logInventoryOffer(const LLUUID& to_agent, const LLUUID &im
|
|||
{
|
||||
gIMMgr->addSystemMessage(im_session_id, "inventory_item_offered", args);
|
||||
}
|
||||
// [RLVa:KB] - Checked: 2010-05-26 (RLVa-1.2.0h) | Modified: RLVa-1.2.0h
|
||||
// [RLVa:KB] - Checked: 2010-05-26 (RLVa-1.2.2a) | Modified: RLVa-1.2.0h
|
||||
else if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(to_agent)) &&
|
||||
(!RlvUIEnabler::hasOpenProfile(to_agent)) )
|
||||
{
|
||||
// Log to chat history if the user didn't drop on an IM session or a profile to avoid revealing the name of the recipient
|
||||
std::string strName, strMsgName = "inventory_item_offered-im"; LLSD args;
|
||||
if (gCacheName->getFullName(to_agent, strName))
|
||||
std::string strMsgName = "inventory_item_offered-im"; LLSD args; LLAvatarName avName;
|
||||
if (LLAvatarNameCache::get(to_agent, &avName))
|
||||
{
|
||||
args["NAME"] = RlvStrings::getAnonym(strName);
|
||||
args["NAME"] = RlvStrings::getAnonym(avName);
|
||||
strMsgName = "inventory_item_offered_rlv";
|
||||
}
|
||||
gIMMgr->addSystemMessage(LLUUID::null, strMsgName, args);
|
||||
|
|
@ -416,7 +417,7 @@ void LLGiveInventory::commitGiveInventoryItem(const LLUUID& to_agent,
|
|||
|
||||
// add buddy to recent people list
|
||||
// LLRecentPeople::instance().add(to_agent);
|
||||
// [RLVa:KB] - Checked: 2010-04-21 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-04-21 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
// Block the recent activity update if this was an in-world drop on an avatar (as opposed to a drop on an IM session or on a profile)
|
||||
if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) || (im_session_id.notNull()) || (!RlvUtil::isNearbyAgent(to_agent)) ||
|
||||
(RlvUIEnabler::hasOpenProfile(to_agent)) )
|
||||
|
|
@ -479,7 +480,7 @@ void LLGiveInventory::commitGiveInventoryCategory(const LLUUID& to_agent,
|
|||
|
||||
// add buddy to recent people list
|
||||
// LLRecentPeople::instance().add(to_agent);
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
// Block the recent activity update if this was an in-world drop on an avatar (as opposed to a drop on an IM session or on a profile)
|
||||
if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) || (im_session_id.notNull()) || (!RlvUtil::isNearbyAgent(to_agent)) ||
|
||||
(RlvUIEnabler::hasOpenProfile(to_agent)) )
|
||||
|
|
|
|||
|
|
@ -101,9 +101,9 @@ bool LLOfferHandler::processNotification(const LLSD& notify)
|
|||
|
||||
LLUUID session_id;
|
||||
// if (LLHandlerUtil::canSpawnIMSession(notification))
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
// Don't spawn a new IM session for inventory offers if this notification was subject to @shownames=n
|
||||
// RELEASE-RLVa: [SL-2.0.1] Test on every new release to make sure the notification gets routed the way we want it to be
|
||||
// RELEASE-RLVa: [SL-2.3.0] Test on every new release to make sure the notification gets routed the way we want it to be
|
||||
bool fSpawnIM = (LLHandlerUtil::canSpawnIMSession(notification)) && (!notification->getPayload().has("rlv_shownames"));
|
||||
if (fSpawnIM)
|
||||
// [/RLVa:KB]
|
||||
|
|
@ -117,7 +117,7 @@ bool LLOfferHandler::processNotification(const LLSD& notify)
|
|||
|
||||
bool show_toast = LLHandlerUtil::canSpawnToast(notification);
|
||||
// bool add_notid_to_im = LLHandlerUtil::canAddNotifPanelToIM(notification);
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
// NOTE: add_notid_to_im needs to be FALSE if we suppressed spawning an IM because in that case the notification needs to
|
||||
// be routed to the "syswell" or the inventory offer floater will dissapear and the user won't be able to accept it
|
||||
bool add_notid_to_im = (fSpawnIM) && (LLHandlerUtil::canAddNotifPanelToIM(notification));
|
||||
|
|
@ -160,7 +160,7 @@ bool LLOfferHandler::processNotification(const LLSD& notify)
|
|||
if (LLHandlerUtil::canLogToIM(notification))
|
||||
{
|
||||
// log only to file if notif panel can be embedded to IM and IM is opened
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
if (notification->getPayload().has("rlv_shownames"))
|
||||
{
|
||||
// Log to chat history if this notification was subject to @shownames=n
|
||||
|
|
@ -191,7 +191,7 @@ bool LLOfferHandler::processNotification(const LLSD& notify)
|
|||
{
|
||||
// if (LLHandlerUtil::canAddNotifPanelToIM(notification)
|
||||
// && !LLHandlerUtil::isIMFloaterOpened(notification))
|
||||
// [SL:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [SL:KB] - Checked: 2010-04-20 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
// Repro:
|
||||
// 1) have someone drop you 2 inventory items (new IM session will be spawned)
|
||||
// 2) accept/decline the inventory offers as they come in
|
||||
|
|
@ -223,7 +223,7 @@ bool LLOfferHandler::processNotification(const LLSD& notify)
|
|||
void LLOfferHandler::onDeleteToast(LLToast* toast)
|
||||
{
|
||||
// if (!LLHandlerUtil::canAddNotifPanelToIM(toast->getNotification()))
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
// BUGFIX: LLHandlerUtil::canAddNotifPanelToIM() won't necessarily tell us whether the notification went into an IM or to the syswell
|
||||
if (toast->getCanBeStored())
|
||||
// [/RLVa:KB]
|
||||
|
|
|
|||
|
|
@ -1398,9 +1398,10 @@ void LLOfferInfo::send_auto_receive_response(void)
|
|||
{
|
||||
// add buddy to recent people list
|
||||
// LLRecentPeople::instance().add(mFromID);
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// RELEASE-RLVa: [RLVa-1.2.0] Make sure this stays in sync with the condition in inventory_offer_handler()
|
||||
if ((!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) || (!RlvUtil::isNearbyAgent(mFromID)) || (RlvUIEnabler::hasOpenIM(mFromID)))
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.2a) | Added: RLVa-1.2.0f
|
||||
// RELEASE-RLVa: [RLVa-1.2.2] Make sure this stays in sync with the condition in inventory_offer_handler()
|
||||
if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) || (!RlvUtil::isNearbyAgent(mFromID)) ||
|
||||
(RlvUIEnabler::hasOpenIM(mFromID)) || ((RlvUIEnabler::hasOpenProfile(mFromID))) )
|
||||
{
|
||||
LLRecentPeople::instance().add(mFromID);
|
||||
}
|
||||
|
|
@ -1659,17 +1660,10 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const
|
|||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
std::string full_name;
|
||||
if (gCacheName->getFullName(mFromID, full_name))
|
||||
{
|
||||
// [RLVa:KB] - Checked: 2010-04-022 (RLVa-1.2.0f) | Modified: RLVa-1.2.0f
|
||||
// RELEASE-RLVa: [RLVa-1.2.0] Make sure this stays in sync with the condition in inventory_offer_handler()
|
||||
if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(mFromID)) &&
|
||||
(!RlvUIEnabler::hasOpenIM(mFromID)) )
|
||||
{
|
||||
full_name = RlvStrings::getAnonym(full_name);
|
||||
}
|
||||
// [/RLVa:KB]
|
||||
from_string = LLTrans::getString("InvOfferAnObjectNamed") + " "+ LLTrans::getString("'") + mFromName
|
||||
+ LLTrans::getString("'")+" " + LLTrans::getString("InvOfferOwnedBy") + full_name;
|
||||
chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedBy") + " " + full_name;
|
||||
|
|
@ -1680,6 +1674,20 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const
|
|||
+ mFromName + LLTrans::getString("'")+" " + LLTrans::getString("InvOfferOwnedByUnknownUser");
|
||||
chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedByUnknownUser");
|
||||
}
|
||||
*/
|
||||
// [SL:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Added: RLVa-1.2.2a
|
||||
std::string name_slurl = LLSLURL("agent", mFromID, "about").getSLURLString();
|
||||
|
||||
// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a
|
||||
// RELEASE-RLVa: [RLVa-1.2.2] Make sure this stays in sync with the condition in inventory_offer_handler()
|
||||
if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(mFromID)) )
|
||||
name_slurl = LLSLURL("agent", mFromID, "rlvanonym").getSLURLString();
|
||||
// [/RLVa:KB]
|
||||
|
||||
from_string = LLTrans::getString("InvOfferAnObjectNamed") + " "+ LLTrans::getString("'") + mFromName
|
||||
+ LLTrans::getString("'")+" " + LLTrans::getString("InvOfferOwnedBy") + name_slurl;
|
||||
chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedBy") + " " + name_slurl;
|
||||
// [/SL:KB]
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -1945,12 +1953,13 @@ void inventory_offer_handler(LLOfferInfo* info)
|
|||
// Object -> Agent Inventory Offer
|
||||
if (info->mFromObject)
|
||||
{
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a
|
||||
// Only filter if the object owner is a nearby agent
|
||||
if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(info->mFromID)) )
|
||||
{
|
||||
payload["rlv_shownames"] = TRUE;
|
||||
args["NAME"] = args["NAME_SLURL"] = RlvStrings::getAnonym(info->mFromName);
|
||||
args["NAME"] = RlvStrings::getAnonym(info->mFromName);
|
||||
args["NAME_SLURL"] = LLSLURL("agent", info->mFromID, "rlvanonym").getSLURLString();
|
||||
}
|
||||
// [/RLVa:KB]
|
||||
|
||||
|
|
@ -1965,13 +1974,14 @@ void inventory_offer_handler(LLOfferInfo* info)
|
|||
}
|
||||
else // Agent -> Agent Inventory Offer
|
||||
{
|
||||
// [RLVa:KB] - Checked: 2010-04-20 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
|
||||
// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a
|
||||
// Only filter if the offer is from a nearby agent and if there's no open IM session (doesn't necessarily have to be focused)
|
||||
if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(info->mFromID)) &&
|
||||
(!RlvUIEnabler::hasOpenIM(info->mFromID)) )
|
||||
{
|
||||
payload["rlv_shownames"] = TRUE;
|
||||
args["NAME"] = args["NAME_SLURL"] = RlvStrings::getAnonym(info->mFromName);
|
||||
args["NAME"] = RlvStrings::getAnonym(info->mFromName);
|
||||
args["NAME_SLURL"] = LLSLURL("agent", info->mFromID, "rlvanonym").getSLURLString();
|
||||
}
|
||||
// [/RLVa:KB]
|
||||
|
||||
|
|
@ -2748,12 +2758,12 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
|
|||
|
||||
case IM_INVENTORY_ACCEPTED:
|
||||
{
|
||||
args["NAME"] = LLSLURL("agent", from_id, "completename").getSLURLString();;
|
||||
// [RLVa:KB] - Checked: 2010-04-22 (RLVa-1.2.0f) | Modified: RLVa-1.2.0f
|
||||
// Only filter the name if the agent is nearby, there isn't an open IM session to them and their profile isn't open
|
||||
// bool fRlvFilterName = (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(from_id)) &&
|
||||
// (!RlvUIEnabler::hasOpenProfile(from_id)) && (!RlvUIEnabler::hasOpenIM(from_id));
|
||||
// args["NAME"] = (!fRlvFilterName) ? name : RlvStrings::getAnonym(name);
|
||||
// args["NAME"] = LLSLURL("agent", from_id, "completename").getSLURLString();;
|
||||
// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a
|
||||
// Only anonymize the name if the agent is nearby, there isn't an open IM session to them and their profile isn't open
|
||||
bool fRlvFilterName = (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(from_id)) &&
|
||||
(!RlvUIEnabler::hasOpenProfile(from_id)) && (!RlvUIEnabler::hasOpenIM(from_id));
|
||||
args["NAME"] = LLSLURL("agent", from_id, (!fRlvFilterName) ? "completename" : "rlvanonym").getSLURLString();;
|
||||
// [/RLVa:KB]
|
||||
LLSD payload;
|
||||
payload["from_id"] = from_id;
|
||||
|
|
@ -2762,12 +2772,12 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
|
|||
}
|
||||
case IM_INVENTORY_DECLINED:
|
||||
{
|
||||
args["NAME"] = LLSLURL("agent", from_id, "completename").getSLURLString();;
|
||||
// [RLVa:KB] - Checked: 2010-04-22 (RLVa-1.2.0f) | Modified: RLVa-1.2.0f
|
||||
// Only filter the name if the agent is nearby, there isn't an open IM session to them and their profile isn't open
|
||||
// bool fRlvFilterName = (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(from_id)) &&
|
||||
// (!RlvUIEnabler::hasOpenProfile(from_id)) && (!RlvUIEnabler::hasOpenIM(from_id));
|
||||
// args["NAME"] = (!fRlvFilterName) ? name : RlvStrings::getAnonym(name);
|
||||
// args["NAME"] = LLSLURL("agent", from_id, "completename").getSLURLString();;
|
||||
// [RLVa:KB] - Checked: 2010-11-02 (RLVa-1.2.2a) | Modified: RLVa-1.2.2a
|
||||
// Only anonymize the name if the agent is nearby, there isn't an open IM session to them and their profile isn't open
|
||||
bool fRlvFilterName = (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && (RlvUtil::isNearbyAgent(from_id)) &&
|
||||
(!RlvUIEnabler::hasOpenProfile(from_id)) && (!RlvUIEnabler::hasOpenIM(from_id));
|
||||
args["NAME"] = LLSLURL("agent", from_id, (!fRlvFilterName) ? "completename" : "rlvanonym").getSLURLString();;
|
||||
// [/RLVa:KB]
|
||||
LLSD payload;
|
||||
payload["from_id"] = from_id;
|
||||
|
|
|
|||
Loading…
Reference in New Issue