Commit Graph

110 Commits

Author SHA1 Message Date
Diva Canto
4a9ca3ca8f HG Friends: reroute the status notifications to the HGFriends service, so that they can scale better. They were previously being handled by the UAS; that is still there, but it's now obsolete and will be removed in a future release. 2012-03-21 10:35:06 -07:00
Diva Canto
d8bcb78b10 HG Friends: pulled sim-bound notification code to HGStatusNotifier, so that we can better manage this traffic. 2012-03-21 09:14:17 -07:00
Diva Canto
1089e9b842 Removed extraneous debug message 2012-03-21 08:08:12 -07:00
Diva Canto
d49dd5573b Removed extraneous debug messages. Added a check for UUID.Zero. 2012-03-20 21:36:02 -07:00
Diva Canto
d08ad6459a HG Friends: allow the establishment of HG friendships without requiring co-presence in the same sim. Using avatar picker, users can now search for names such as "first.last@grid.com:9000", find them, and request friendship. Friendship requests are stored if target user is offline. TESTED ON STANDALONE ONLY. 2012-03-20 17:14:19 -07:00
Diva Canto
a22d0dcab9 HG Friends: fixed bug introduced by 571efeddb2 (r/17672) 2012-01-10 09:58:53 -08:00
Diva Canto
571efeddb2 Added UserManagementModule.IsLocalGridUser(UUID) to be used throughout region Scenes and Modules. Changed existing modules to use it instead of assuming that foreign = null account. 2011-12-29 16:12:06 -08:00
Justin Clark-Casey (justincc)
4567555c49 Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead of OSHttpRequest/OSHttpResponse.
This is required for the substitution of different HTTP servers or the newer HttpServer.dll without having to commit to a particular implementation.
This is also required to write regression tests that involve the HTTP layer.
If you need to recompile, all you need to do is replace OSHttpRequest/OSHttpResponse references with IOSHttpRequest/IOSHttpResponse.
2011-12-05 20:44:20 +00:00
Justin Clark-Casey (justincc)
e21949deaf Comment out the vebose logging on HGFriendsModule.
Recent issues in http://opensimulator.org/mantis/view.php?id=5794 were not related to HG friends
2011-11-16 00:26:54 +00:00
Justin Clark-Casey (justincc)
122304317c temporarily increasing logging in HGFriendsModule for debugging 2011-11-15 22:14:31 +00:00
Justin Clark-Casey (justincc)
828e4a5b09 Add comments about trying to avoid synchronous work off the EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another. 2011-11-15 20:26:42 +00:00
Justin Clark-Casey (justincc)
64784bc0cf remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is not being used any more - it's now IEntityTransferModule and SimulationService instead 2011-11-15 17:30:58 +00:00
Justin Clark-Casey (justincc)
430821d837 Rename FetchFriendslist() -> CacheFriends() and RefetchFriends() -> RecacheFriends() to reflect their intended function 2011-11-15 16:12:35 +00:00
Justin Clark-Casey (justincc)
2b5b4ac167 refactor: rename m_NeedsListOfFriends => m_NeedsListOfOnlineFriends to better reflect its actual function 2011-11-15 16:05:08 +00:00
Justin Clark-Casey (justincc)
50803dfe2c For clients that are entering a simulator from initial login, stop executing FriendsModule.FetchFriendslist() asychronously.
Executing this asynchronously allows a race condition where subsequent friends fetches hit a cache that FetchFriendsList() had not yet populated.
Changing this to synchronous may improve issues where a user does not see friends as online even though they are.
I don't believe synchronous is a problem here, but if it is, then a more complicated signalling mechanism is required.  Locking the cache isn't sufficient.
2011-11-15 15:57:53 +00:00
Justin Clark-Casey (justincc)
8d0aaa359f refactor: Don't create a new UUID for passing uuids to client - UUIDs are structs are so not passed by reference (and they're immutable!) 2011-11-15 15:05:10 +00:00
Justin Clark-Casey (justincc)
89632f3ea8 Add test for removing a friendship. 2011-11-14 20:56:56 +00:00
Justin Clark-Casey (justincc)
e5ff7f389b Improved method doc for AddFriend() - it actually does set up a two-way relationship.
Rename IFriendsModule.AddFriend() to AddFriendship()
2011-11-14 20:31:16 +00:00
Justin Clark-Casey (justincc)
a64def8b73 minor: remove some mono compiler warnings 2011-11-14 18:16:14 +00:00
Justin Clark-Casey (justincc)
348d15707d Add test for adding a friend whilst online 2011-11-14 18:08:02 +00:00
Justin Clark-Casey (justincc)
de895ee54a Add very simple FriendsModuleTests.TestNoFriends() 2011-11-14 17:18:51 +00:00
Justin Clark-Casey (justincc)
ff36a1bc7b If a friends identifier which is too short is given to HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
This is to progress http://opensimulator.org/mantis/view.php?id=5789
2011-11-14 16:06:06 +00:00
Melanie
08fcf958c2 Port the Avination offline messaging system to Core 2011-11-02 23:50:47 +00:00
Justin Clark-Casey (justincc)
8a0a78cbcc Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around.
This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes.
Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers
Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer
MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this.  This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
2011-10-25 20:24:21 +01:00
Justin Clark-Casey (justincc)
36e2054760 minor: temporarily comment out the local status notify friends messages seen on login/logout, since it's a bit noisy on the console.
Please uncomment if/when this is still needed.
2011-06-27 23:12:54 +01:00
Diva Canto
06e254c392 A few more cleanups on the way to close http://opensimulator.org/mantis/view.php?id=5516 once and for all. Moral of the story: don't send AgentOnline/Offline to viewers with a zero-length array. 2011-06-11 17:48:19 -07:00
Diva Canto
e1ca77a0db Only send AgentOnline to the client if the friendsOnline list has elements. Also, increased the timeout on UserAgentServiceConnector, StatusNotification again. 2011-06-11 17:22:35 -07:00
Diva Canto
e07d71d298 Added a Sleep in between each site call, to slow the xml-rpc requests down. 2011-06-10 21:17:34 -07:00
Diva Canto
5f311c91c7 More tweaking on the UserAgentServiceConnector: add constructor that does not do DNS lookup, and use that for friends notification. 2011-06-10 21:07:50 -07:00
Diva Canto
3307db5d4a This hopefully fixes all issues with online/offline notifications across grids. http://opensimulator.org/mantis/view.php?id=5528 2011-06-07 19:36:04 -07:00
Diva Canto
1a23d322ac More on the hunt for the slow down on HGFriendsModule. - Don't requests the online friends on foreign grids. If this works, there's another way of getting that info. 2011-06-06 19:52:50 -07:00
Diva Canto
dce0e46eaa Moved the Mono Addins declaration of the HGFriendsModule to where the one for FriendModule is -- CoreModulePlugin.addin.xml (trying to hunt down the slowness reported by Nebadon related to HGFriends) 2011-06-06 18:20:02 -07:00
Diva Canto
24f28d3534 HG friends: Status notifications working. Also initial logins get the online friends in other grids. 2011-05-23 19:45:39 -07:00
Diva Canto
336665e035 More on HG Friends. Added Delete(string, string) across the board. Added security to friendship identifiers so that they can safely be deleted across worlds. Had to change Get(string) to use LIKE because the secret in the identifier is not always known -- affects only HG visitors. BOTTOM LINE SO FAR: HG friendships established and deleted safely across grids, local rights working but not (yet?) being transmitted back. 2011-05-22 16:51:03 -07:00
Diva Canto
58c53c41de Fixed permissions bug related to friends in PermissionsModule. Added FriendsData[] GetFriends(string principalID) to IFriendsData and FriendInfo[] GetFriends(string PrincipalID) to IFriendsService. Refactored some more in the FriendsModule. Made client get notification of local friends permissions upon HGLogin. HG Friends object permissions work. 2011-05-21 16:48:00 -07:00
Diva Canto
d21e9c755f HG Friends working to some extent: friendships offered and accepted correctly handled. Friends list showing correct foreign names. TODO: GrantRights. 2011-05-19 16:54:46 -07:00
Diva Canto
7592a033df Moved 3 request handlers from OpenSim.Framework.Servers.HttpServer up to OpenSim.Framework -- just pasted them in WebUtil. This is so that code that uses the Service connectors don't need to include the HttpServer dll -- that was odd. 2011-04-12 20:24:28 -07:00
Melanie
07cc032081 Allow cross-scope friendships to work, and also allow other cross scope name
resolution
2011-01-03 19:42:46 +00:00
Jeff Ames
bc9f793a92 Formatting cleanup. 2010-10-04 21:28:17 -04:00
root
7762301cea Revert "* Changed 11 calls for session info to the more optimized API method"
This reverts commit 5dc9ea2f24.
Also makes online indicators and IM more robust
2010-09-17 01:57:26 +01:00
John Hurliman
8415b98806 Over a dozen thread safety fixes in FriendsModule 2010-09-09 14:45:10 -07:00
John Hurliman
5dc9ea2f24 * Changed 11 calls for session info to the more optimized API method 2010-09-08 15:08:49 -07:00
Diva Canto
d123350164 One more bug fix in FriendsModule: GrantRights. One of the caches was not being updated. 2010-06-28 16:04:12 -07:00
Diva Canto
24a68e36fb Bug fix: wrong name of requester in local friendship offer. 2010-06-19 12:32:36 -07:00
Diva Canto
7f349d61cb Better friends notification: get rid of OnLogout and use OnClientClose for sending notifications. This takes care of crashed sessions. Also, made the notifications themselves asynchronous. 2010-06-11 06:32:24 -07:00
Diva Canto
2e1269e4ca Bug fix on friends notifications. OnClientClose and OnLogout ordering are unpredictable; when OnClientClosed happened first, it was removing the friends list, which would prevent OnLogout notifications to go out. 2010-06-10 21:59:12 -07:00
Diva Canto
fe3e1c67ae Bug fix: update the list of friends upon MakeRoot, because child agents don't get notified of new friendships. 2010-06-05 06:56:36 -07:00
Diva Canto
952029380a Fixed a couple of buglets in Friendship offers / acceptance / decline when avies are in different sims. 2010-06-04 10:59:59 -07:00
Diva Canto
d72769930a More cleaning on presence. Friends online/offline works again. 2010-05-08 07:44:07 -07:00
Diva Canto
5fda81e6bb * XInventory fairly tested, including for HG. Almost ready to switch.
* Removed a few buglets and added better exception handling.
2010-04-30 11:39:02 -07:00