• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-11492
Type: New Feature New Feature
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: ZATZAi Asturias
Votes: 10
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Mute button for llDialog popup

Created: 11/Jan/09 01:55 AM   Updated: 22/Jul/09 03:09 PM
Return to search
Component/s: Scripting
Affects Version/s: 1.22 Release Candidate
Fix Version/s: None

File Attachments: None
Image Attachments:

1. Dialog.jpg
(15 kB)
Environment:
Second Life 1.22.5 (107013) Dec 31 2008 13:30:40 (Second Life Release Candidate)
Release Notes

You are at 154462.2, 327232.0, 31.2 in Artificial Isle located at sim4479.agni.lindenlab.com (63.210.158.129:13001)
Second Life Server 1.24.10.106829
Release Notes

CPU: Intel Core 2 Series Processor (2999 MHz)
Memory: 3070 MB
OS Version: Microsoft Windows Vista Service Pack 1 (Build 6001)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce 8800 GTS/PCI/SSE2
OpenGL Version: 2.1.2

libcurl Version: libcurl/7.16.4 OpenSSL/0.9.7c zlib/1.2.3
J2C Decoder Version: KDU
LLMozLib Version: [LLMediaImplLLMozLib] - 2.01.20940 (Mozilla GRE version 1.8.1.13_0000000000)
Packets Lost: 0/868 (0.0%)
Issue Links:
Relates


 Description  « Hide
Currently llDialog popups have no mute option, as a result objects can spam a person with dialog's and it's difficult to easily block them. Adding a mute button to the dialog popup menu like is already present on many other menus would solve this problem. Thusly I proprose a mute option be added to dialog popups that will mute any further dialog popups from that object and any objects owners by the same person when pressed.

Repro:

Create an object with a Dialog popup on touch such as with this LSL...

string SPAM_DIALOG = "Try and mute me...";
list SPAM_MENU = ["SPAM","SPAM","SPAM","SPAM","SPAM","SPAM"];

default
{
touch_start(integer total_number)

{ llDialog(llDetectedKey(0), SPAM_DIALOG, SPAM_MENU, 1); }

}

Touch the object and notice the lack of a mute button on the popup as pictured in the attached image.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Chalice Yao added a comment - 23/Mar/09 12:44 AM
The major problem with this is, that the dialog's message system sadly doesn't send the owning avatar's UUID with it. Else implementing a muting functionality'd be a piece of cake...right now it requires quite some hackery. It's the same with permission/animation requests and the like.
I hope the owner UUID will be part of all object-caused dialogs at some point.

Jahar Aabye added a comment - 11/May/09 12:38 PM
How does the Dialog menu that pops up contain the object owner's name? If the owning avatar's UUID is not sent with the packet, is there some other method used? The viewer seems to be able to display the owning avatar's name through some method. Additionally, is the object UUID sent? If so, that might at least allow one to mute the object itself. Of course, muting the offending object isn't a perfect solution, especially if it's a mute-by-name and the object is constantly changing names....but at least it would be a start.

Chalice Yao added a comment - 12/May/09 12:05 AM - edited
'How does the Dialog menu that pops up contain the object owner's name?'

It's horrible. Wait for it..waaait for it..

The owner name gets sent instead of the UUID

msg->getUUID("Data", "ObjectID", info->mObjectID);
msg->getString("Data", "FirstName", first_name);
msg->getString("Data", "LastName", last_name);
msg->getString("Data", "ObjectName", title);
msg->getString("Data", "Message", message);
msg->getS32("Data", "ChatChannel", info->mChatChannel);

Also, yes, the uuid of the object gets sent. Basically above is the info the viewer gets. object uuid, owner name, object name, message and channel to return the button click on.


Chalice Yao added a comment - 12/May/09 12:08 AM
Technically it would be possible to take the owner name, use the viewer's built-in resolving facility to do a search and get the owner key that way. It'd sadly depend on the performance of the dataserver, and would be kind of kludgy.

Muting by object UUID should work...if a muting check gets added to process_script_dialog in the first place. There is none.