Justin Clark-Casey (justincc)
765fd02418
For built-in groups, if a delegate throws an exception (e.g. due to network failure), always remove its request from the m_ActiveRequests list.
...
If this is not done, all subsequent calls for the same data see that a request is apparantly already in progress and so wait for the result indefinitely.
2015-02-04 17:04:59 +00:00
Diva Canto
e2dd15625f
Added GetDisplayNames capability. For now, we don't actually use display names, and this cap returns the regular name. But this moves the server side into the newer, preferred, protocol used by the viewer for fetching the names of agents in the scene given their UUIDs. (the old protocol is via UDP). This works fine in my limited tests, but could use further testing by others.
2015-01-09 08:31:56 -08:00
Diva Canto
2138d5c7f8
Renamed VERSION_NUMBER to VersionNumber
2014-12-30 15:27:28 -08:00
Diva Canto
7466ef0525
This cleans up versioning. Specifically:
...
- It establishes 4 digits for opensim versions
- It uses the same number between opensim releases and mono addins versions
It also eliminates the last addin.xml files that were still there, for consistency.
2014-12-30 12:53:31 -08:00
Diva Canto
5cf6a6f830
WARNING: BREAKING CHANGES FOR REGION MODULE DEVELOPMENT.
...
This cleans up Opensim's use of mono addins. In particular, the extension points /OpenSim/RegionModules and /OpenSim/WindModule moved from OpenSim.exe to OpenSim.Region.Framework.dll. From here on, developers of region modules should declare their dlls to be dependent on OpenSim.Region.Framework, starting with version 0.8.1
Additional changes:
- Addins version uniformly updated to 0.8.1. These numbers should be compatible with the release numbers or else it becomes very confusing.
- Mono addins directives moved from files addins.xml to embedded directives in the class and assembly declarations, to make it all consistent
2014-12-30 07:58:42 -08:00
Diva Canto
89c1ac4cff
Updated OpenSim-as-addin version from 0.5 to 0.8.1. The addin version number doesn't need to match the release version number, but I think it's a very good idea that they do.
2014-12-29 15:05:44 -08:00
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
Diva Canto
69975763d2
Several major improvements to group (V2) chat. Specifically: handle join/drop appropriately, invitechatboxes.
...
The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
2013-07-27 15:38:56 -07:00
Diva Canto
85428c49bb
Trying to decrease the lag on group chat. (Groups V2 only)
2013-07-26 21:27:00 -07:00
Diva Canto
d8a6eb5641
Decreased the time of group cache to 1 min, because it was getting on my nerves that it takes so long to let go of old info.
2013-07-24 11:25:24 -07:00
Diva Canto
42e52f544d
Improvement of fetching name in groups
2013-07-23 14:30:50 -07:00
Justin Clark-Casey (justincc)
83da14008f
minor: remove some mono compiler warnings in new groups code
2013-07-08 23:57:05 +01:00
Justin Clark-Casey (justincc)
e19defde36
Add "show caps stats by user" and "show caps stats by cap" console commands to print various counts of capability invocation by user and by cap
...
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
2013-07-08 22:03:07 +01:00
Diva Canto
e377abcc35
Groups V2: charge for group creation only after the group has been successfully created
2013-06-30 08:39:35 -07:00
Justin Clark-Casey (justincc)
1a72f62d7b
minor: remove mono compiler warning in OfflineIMService
2013-06-18 23:52:15 +01:00
Diva Canto
e741e5ebce
More on mantis #6666 -- Groups V2 remote connector.
2013-06-09 20:20:37 -07:00
Diva Canto
d00770d56b
Groups V2 -- fix mantis #6666
2013-06-08 11:00:22 -07:00
Diva Canto
664c6191ed
Mantis #6620 (removed debug message)
2013-06-07 08:37:18 -07:00
Melanie
533bbf033d
Update the money framework to allow sending the new style linden "serverside is now viewerside" messages regarding currency
...
This will require all money modules to be refactored!
2013-05-25 02:08:54 +01:00
Diva Canto
af1fa95875
Groups: Improve error handling on remote connector.
2013-05-13 11:36:17 -07:00
Diva Canto
25fea82049
Fixes mantis #6636 -- Groups
2013-05-13 07:29:17 -07:00
Diva Canto
0e162511cf
Groups: make some methods protected.
2013-04-25 17:01:57 -07:00
Diva Canto
bb44758179
Switched to using the other Util function with a default value.
2013-02-27 20:59:16 -08:00
Diva Canto
f1010d7b15
Moved the HG default variables out of [Startup] and into their own section [Hypergrid] in *Common.ini.example. Backwards compatible for now.
2013-02-27 20:49:41 -08:00
Diva Canto
00da59ae52
Mantis #6552 -- stricter error (crash) if server URL is malformed.
2013-02-25 16:27:41 -08:00
Diva Canto
f7aa018a78
Fixes mantis #6551 -- misspelled key name. Also fixed an issue with the roles cache.
2013-02-25 10:24:28 -08:00
Diva Canto
0e8289cd00
Added new Util function for reading config vars that's more generic than the one I added yesterday -- this is for helping move config vars out of [Startup]
2013-02-22 15:57:33 -08:00
Diva Canto
e515cdddec
Simplification of HG configs: HomeURI and GatekeeperURI now are defined as default under [Startup]. They can then be overwritten in the other sections (but probably shouldn't). I kept the existing code for backwards compatibility, so this should not cause any breaks from people's current configurations. But people should move to have these 2 vars under [Startup] -- see OpenSim.ini.example and Robust.HG.ini.example. And yes, both names now end with "URI" for consistency.
2013-02-21 17:26:19 -08:00
Diva Canto
66bc526e4c
Updated AssemblyInfo.cs for Groups and OfflineIM to 0.7.6.*. Removed AssemblyFileVersionNumber too.
2013-02-19 17:04:21 -08:00
Diva Canto
9380d01976
First commit of Diva Groups. The Data bits went to OpenSim.Data core, the rest to Addons.Groups.dll.
2013-02-19 07:26:40 -08:00
Diva Canto
46e182dbf5
Offline IM: moved the Data and MySQL bits to the corresponding places in core, so that it will be easier to plugin a SQLite backend, if anyone is interested in doing that.
2013-02-19 06:37:20 -08:00
Diva Canto
9e460f2af8
One more sql statement on migration #2 for offline im, to really clean up things.
2013-02-18 19:54:18 -08:00
Diva Canto
5e709b087c
Donating Diva OfflineIM as an addon in a single dll, OpenSim.Addons.OpenSim.dll
2013-02-18 15:44:00 -08:00