Justin Clark-Casey (justincc)
67ebe80dd9
Resolve some mono compiler warnings.
2012-05-25 04:03:16 +01:00
Justin Clark-Casey (justincc)
5053506d88
refactor: Instead of performing a ScenePresence lookup twice over LocateClientObject() and GetClientScene(), do the lookup just once in LocateClientObject()
2012-05-07 18:27:33 +01:00
Justin Clark-Casey (justincc)
cdf97ab3a6
Fix a bug in FriendsModule.StatusNotify() where all subsequent friends would not be notified once a non-local friend was found.
2012-05-07 17:21:45 +01:00
Justin Clark-Casey (justincc)
07e62df558
Add regression test for teleporting an agent between separated regions on the same simulator.
...
This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
2012-04-27 00:58:54 +01:00
Snoopy Pfeffer
8be14095fe
HGFriendsModule: Type casts to fix compile error
2012-04-11 18:56:28 +02:00
Snoopy Pfeffer
1f4d3d3582
HGFriendsModule: Added optional user level based restriction to send friendship invitations to foreign users.
2012-04-11 18:52:07 +02:00
Diva Canto
f2ede8c7e0
HGFriendsModule: add the scaffolding for supporting permissions pertaining to HG friendships. Snoopy take it from here.
2012-04-11 08:13:11 -07:00
Justin Clark-Casey (justincc)
3525c876c8
Make default "show friends" console command show friends fetched from the friends service.
...
There is no a --cache option which will show friends from the local cache if available.
2012-03-30 01:57:38 +01:00
Justin Clark-Casey (justincc)
bce7964ac2
refactor: Move "friends show cache" console command out into separate FriendsCommandsModule.
...
Expose required methods on IFriendsModule. Rename GetFriends() -> GetFriendsFromCache() for self-documentation
2012-03-30 01:05:29 +01:00
Justin Clark-Casey (justincc)
59157d9d63
Add simple login test with online friends. Add IFriendsModule.GrantRights() for granting rights via a module call.
...
Rename IFriendsModule.GetFriendPerms() -> GetRightsGrantedByFriend() to be more self-documenting and consistent with friends module terminology.
Add some method doc.
2012-03-30 00:42:55 +01:00
Justin Clark-Casey (justincc)
bf09d6a22b
refactor: Stop passing both IClientAPI and agentID to friend event listeners, these are redundant. Replace a few magic numbers with FriendRights enum already used elsewhere.
2012-03-29 18:31:57 +01:00
Justin Clark-Casey (justincc)
012b01f224
Add simple regression test for logging in with offline friends. Don't expect to receive any in this instance.
2012-03-29 03:19:45 +01:00
Justin Clark-Casey (justincc)
22a85b947a
Add back parts of reverted changes that were not concerned with child agent caching.
...
This adds ScenePresence to IClientAPI.SceneAgent earlier on in the add client process so that its information is available to EventManager.OnNewClient() and OnClientLogin()
Also add a code comment as to why we're caching friend information for child agents.
2012-03-29 01:26:30 +01:00
Melanie
bd83676d6c
Change namespace on CallingCardModule and correct interface file placemant. Also ass OpenSource header
2012-03-29 01:13:08 +01:00
Justin Clark-Casey (justincc)
93ac47f0d3
Revert "Simplify friends caching by only doing this for root agents - no functions require caching for child agents."
...
We need to cache child agents so that friends object edit/delete permissions will work across boarders on regions hosted by different simulators.
This reverts commit d9f7b8549b .
2012-03-29 01:08:47 +01:00
Melanie
c52ff5cf7b
Committing the Avination calling card module
2012-03-29 00:47:09 +01:00
Melanie
532e3dad26
Pushing the Avination Calling card hooks. Module to follow.
2012-03-29 00:31:11 +01:00
Justin Clark-Casey (justincc)
d9f7b8549b
Simplify friends caching by only doing this for root agents - no functions require caching for child agents.
...
This allows us to avoid unnecessary multiple calls to the friends service.
All friends functions originate from the root agent and only go to other root agents in existing code.
This also allows us to eliminate complex ref counting.
2012-03-28 23:40:25 +01:00
Justin Clark-Casey (justincc)
12d3ea3029
Add "friends show cache <first-name> <last-name>" command for debugging purposes.
...
This adds a reverse lookup (name -> ID) to IUserManagement instead of hitting the UserAccountService directly.
2012-03-28 02:51:34 +01:00
Diva Canto
df624c13c9
HG Friends: don't notify if the server isn't there.
2012-03-22 15:08:57 -07:00
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