Justin Clark-Casey (justincc)
86367d7219
refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
...
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
AliciaRaven
c155656349
Minor: Include missing EventHost power for group owner role.
2014-11-19 20:25:27 +00:00
Diva Canto
94619cba58
Fixed a hard-to-run-into bug in groups: at the time of creation of a group, the OwnerRoleID in the groups table was inconsistent with the roleID in the roles table. OpenSim core was not running into this bug, but 3rd party modules (like Wifi) were.
2014-09-21 09:22:32 -07:00
Justin Clark-Casey (justincc)
41f2f3132b
For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
...
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-09-05 23:20:59 +01:00
Justin Clark-Casey (justincc)
91e1aaa5d4
On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
...
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc)
dfd0c2a54a
If REMOVEAGENTFROMGROUP core groups call fails because requesting agent does not have sufficient permission, return null failure result rather than true.
...
On non-HG this is on the only recognized failure state so we can return more information in the error result.
On HG there are multiple failure states which would require more work to distinguish, so currently return the unsatisfying "Internal Error" like some other existing calls.
2014-07-31 21:32:20 +01:00
Justin Clark-Casey (justincc)
6ab463a446
Don't overwrite the null result with the true result is groups service REMOVEAGENTFROMGROUP call has failed because of missing parameters
2014-07-31 21:20:55 +01:00
Justin Clark-Casey (justincc)
6c4eed5539
Fix bug where calling PUTGROUP on the core groups service without specifying a ServiceLocation would set the group name to an empty string.
...
This should set the ServiceLocation to an empty string instead.
2014-07-31 00:32:35 +01:00
Oren Hurvitz
0d70033a5d
Include the group name in group IM's
...
When sending an ImprovedInstantMessage to a group, the IM's binary bucket is supposed to contain the group's name (this is what SL does). Singularity uses this to show the group name when it shows the message at the bottom of the viewer for a few seconds: "[Group Name] From User: Message". Before this update, the group name was empty ("[]").
This update doesn't have any visible effect in Firestorm, because it doesn't use the group name sent in the IM.
2014-07-21 09:09:17 +01:00
Oren Hurvitz
99ac770abb
Close streams immediately when we finish using them
2014-07-21 08:30:03 +01:00
Justin Clark-Casey (justincc)
5450b1b024
Change assembly versions to 0.8.1
2014-06-17 18:37:15 +01:00
Diva Canto
7f45ac72e1
Don't try to package null invites.
2014-06-08 12:18:26 -07:00
Justin Clark-Casey (justincc)
35c7fb2038
minor: Comment out log line in Groups V2 GroupsServicePostHandler for now which logs every request it receives.
2014-05-30 19:45:05 +01:00
Diva Canto
ff9da24465
Added HTTP Authentication also to Groups and offline IM.
2014-05-23 17:31:39 -07:00
AliciaRaven
04aa13a086
Fix mantis 6973. Prevent BOM being prefixed to message XML which was causing an exception when the service tried to read the data later on.
...
Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2014-05-22 13:16:14 +01:00
Justin Clark-Casey (justincc)
5ec3429843
On verbose groups messaging logging, count all operations in reported time when sending group messages, not just those after get group members and get presence status, as applicable
2014-05-19 23:01:48 +01:00
Justin Clark-Casey (justincc)
b46be88db6
Split verbose groups messaging logging into its own setting separate from that of the groups module.
...
This is to allow us to get useful information on messaging without being overwhelmed by the rest of groups debug.
Enabled with [Groups] DebugMessagingEnabled = true in config (default false)
Or "debug groups messaging verbose true|false on the console" (similar to existing groups setting).
Done for both xmlrpc and V2 groups.
2014-05-19 22:45:17 +01:00
Justin Clark-Casey (justincc)
d2c738fc09
Don't warn on not seeing [Groups] Robust section for core groups as this does not contain any mandatory parameters and won't be present on older installations.
2014-05-15 22:48:05 +01:00
Justin Clark-Casey (justincc)
8457044b2f
Eliminate subsequently unused scene finding in UndeliveredMessage() method of xmlrpc and core offline IM modules
2014-05-12 22:23:24 +01:00
Oren Hurvitz
1e5cff32fc
Show more meaningful error messages when failed to give an item to another user
2014-05-06 07:28:44 +01:00
Diva Canto
5a10da3ee8
Added a optional key between the group remote connectors, sim and service. This allows for more secure group services, to be used by collections of mutually-trusting grids.
2014-05-03 17:13:53 -07:00
Oren Hurvitz
538ff31b28
Better error handling when retrieving offline IMs
2014-04-21 16:56:26 +01:00
Oren Hurvitz
7a47c15edb
- Increased the threadpool timeout to 10 minutes
...
- Changed a few places that launch long-lasting threads to skip the timeout altogether
2014-03-26 20:34:55 +01:00
Oren Hurvitz
8276a9e5f7
Fixed Debug command for Groups. (Use of wrong capitalization caused *two* "debug" options to appear in "help")
...
This is a (small) part of http://opensimulator.org/mantis/view.php?id=6949
2014-03-24 18:27:18 +01:00
Oren Hurvitz
1d4551e52f
Check settings for groups module
...
Resolves http://opensimulator.org/mantis/view.php?id=6937
2014-03-24 18:01:47 +01:00
Oren Hurvitz
6734b94761
Better error messages
...
This resolves http://opensimulator.org/mantis/view.php?id=6936
2014-03-24 12:22:32 +01:00
Justin Clark-Casey (justincc)
beba20846f
When sending group notices through group messaging, allow the agent ID to use for fetching group data to be different from im.fromAgentID
...
This is because xmlrpcgroups currently always checks visibility for the requesting agent ID (unlike Groups v2, which can accept UUID.Zero)
But group notice IMs have a from agent which is the group rather than the sending agent.
Further addresses http://opensimulator.org/mantis/view.php?id=7037
2014-03-12 19:31:04 +00:00
Justin Clark-Casey (justincc)
77e7bbcbf7
Send group notices through the same messaging module mechanism used to send group chat to avoid timeout issues when sending messages to large groups.
...
Only implementing for XmlRpcGroups initially to test.
May require MessageOnlineUsersOnly = true in [Groups] to be effective.
In relation to http://opensimulator.org/mantis/view.php?id=7037
2014-03-11 00:11:18 +00:00
Justin Clark-Casey (justincc)
d1bb73d068
In core.groups GroupsServiceRemoveConnector, if GetGroupRecord() or UpdateGroup() do not have a RESULT parameter in the result message, return null rather than fail with NullReferenceException
...
This check was already done by other methods.
Looks to resolve http://opensimulator.org/mantis/view.php?id=7012
2014-02-20 19:17:21 +00:00
Oren Hurvitz
2d9d6fe922
Can delete the Offline Messages sent to/from a user.
...
This is useful if the user is deleted.
2014-01-16 00:24:51 +00:00
Oren Hurvitz
46c2791fe2
In the offline message table, store the sender.
...
This data is useful for preventing abuse (e.g., someone who sends too many messages), or for deleting message if their sender has been deleted.
2014-01-16 00:16:33 +00:00
Oren Hurvitz
21bc799a17
Fixed offline IM
2014-01-16 00:10:10 +00:00
Justin Clark-Casey (justincc)
7cab41f422
refactor: replace verbose checks with String.IsNullOrEmpty where applicable.
...
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
2013-11-15 21:45:08 +00:00
Justin Clark-Casey (justincc)
42bdf44658
Bump OPenSimulator version and assembly versions up to 0.8.0 Dev
2013-10-04 23:33:47 +01:00
Diva Canto
04619a9b13
Restore group membership check for HG users in QueryAccess.
2013-09-05 07:44:27 -07:00
Justin Clark-Casey (justincc)
e311f902ff
minor: Eliminate one of the duplicate 'have's in the HG message telling the user if no GroupsServerURI has been given in user data by the home grid
2013-08-13 20:13:12 +01:00
Justin Clark-Casey (justincc)
377fe63c60
Don't try and send group updates to NPCs via event queue, since NPCs have no event queue.
...
I think there is an argument for sending this information to NPCs anyway since in some cases it appears a lot easier to write server-side bots by hooking into such internal events.
However, would need to stop event messages building up on NPC queues if they are never retrieved.
2013-08-12 21:02:50 +01:00
Diva Canto
05012bb0df
Group notices bug fix: use a new IM for each member of the group, otherwise the fields get messed up because the transfer is async
2013-08-05 08:09:30 -07:00
Diva Canto
7eee9eb312
Groups: Better warning messages to the user.
2013-07-28 20:47:15 -07:00
Diva Canto
1b94de8e58
Group chat: prevent a situation where dupe IMs could occur.
2013-07-28 19:31:17 -07:00
Diva Canto
1d4bf06fe7
Group chat: guard against duplicate sends
2013-07-28 18:49:10 -07:00
Diva Canto
33b54807a1
Changing the visibility test in groups service to be UUID.Zero.ToString() instead of "all" because some paths in the code assume there's a UUI in the RequestingAgent string.
2013-07-28 18:08:50 -07:00
Diva Canto
468ddd2373
Same issue.
2013-07-28 17:12:14 -07:00
Diva Canto
c442ef346e
Same issue as previous commit.
2013-07-28 16:44:31 -07:00
Diva Canto
698b2135ee
Fix an issue where HG members of groups weren't seeing the entire membership for group chat.
2013-07-28 15:59:24 -07:00
Diva Canto
63f6c8f27c
Removed commented lines and useless debug message
2013-07-28 13:53:47 -07:00
Diva Canto
7b0b5c9d97
Added BasicSearchModule.cs which handles OnDirFindQuery events. Removed that handler from both Groups modules in core, and replaced them with an operation on IGroupsModule.
2013-07-28 13:49:58 -07:00
Diva Canto
170a6f0563
This makes group search work (Groups V2).
2013-07-28 09:00:28 -07:00
Diva Canto
8dff05a897
More on group chat: only root agents should subscribe to OnInstantMessage, or else they'll see an echo of their own messages after teleporting.
2013-07-27 20:30:00 -07:00
Diva Canto
18eca40af3
More bug fixes on group chat
2013-07-27 19:12:47 -07:00