STORM-1795 Ad-hoc messages are received even when "Only friends and groups can call or IM me"
Review Request #536 - Created Jan. 16, 2012 and submitted
Jonathan Yap | Reviewers | ||
3.2.7 | viewer | ||
STORM-1795 | |||
None | viewer-development |
With avatar A: check on Preferences->Privacy->Only friends and groups can call or IM me Get together with: Avatar B (not a friend of A) Avatar C (a friend of A) Using avatar B establish an ad-hoc chat with A and C and write a message Observed result: Avatar A and C receive the message Expected result: Only avatar C receives the message
See test plan in jira
Posted (Jan. 20, 2012, 8:05 a.m.)
-
indra/newview/llimview.cpp (Diff revision 1) -
What's wrong with ' != NULL ' here? I'm a fan of conditional expressions, but this is overdoing it. really, I think that all this could be folded into the if expression...
Posted (Jan. 20, 2012, 8:41 a.m.)
-
indra/newview/llimview.cpp (Diff revision 1) -
I think there may be something else wrong with this logic: you do not have calls/IMs restricted and someone is your friend, this would not show the message (false AND true produce false), or am I missing something here?
Review request changed
Updated (Jan. 20, 2012, 11:17 a.m.)
-
- added Diff r2
Fixed logic error checking to see if message should be displayed or not.
Review request changed
Updated (Jan. 20, 2012, 11:27 a.m.)
-
- added Diff r3
Fix misspelled variable name.
Review request changed
Updated (Jan. 20, 2012, 11:29 a.m.)
-
Created a 3-way ad-hoc session per Description. Avatar C does not receive the message, but does get an ad-hoc session icon, even when B initiates the ad-hoc session. I think this is correct behavior because C may change their preferences to allow messages from everyone. You do not want to reject the session (that was handled by a different jira recently for blocked residents), only suppress messages.
See test plan in jira
Pointed test plan field to jira; no need to have two unsynchronized copies
Posted (Jan. 23, 2012, 8:52 a.m.)
-
indra/newview/llimview.cpp (Diff revision 3) -
Couldn't this all be folded into the 'if' without the flag variable as: if ( !LLMuteList::getInstance()->isMuted(other_participant_id, LLMute::flagTextChat) && ! (gSavedSettings.getBOOL("VoiceCallsFriendsOnly") && (LLAvatarTracker::instance().getBuddyInfo(other_participant_id) == NULL)) (that probably won't format well)
Review request changed
Updated (Jan. 23, 2012, 2:45 p.m.)
-
- added Diff r4
Slight reformatting/logic change. I think this is a good compromise between my too-wordy multi-line if statement and Oz's compact everything into one if statement approach. This is readable and doesn't waste space.
Ship It!
Review request changed
Updated (April 9, 2012, 10 a.m.)
- changed from pending to submitted
Other reviews