Oren Hurvitz
4cac87d9f4
Fixed: when a user logged-in, sometimes he didn't get notified of the Online status of friends, so they continued to appear Offline.
...
This happened because these notifications (the UDP packets) can only be sent to Root Agents. But the notifications were done in OnClientLogin(), at which point the client is still a Child Agent. Since a FireAndForget is used, it became a race condition as to whether the packets would be sent before or after the client became a Root Agent.
To fix this, we now only send the notifications once the client becomes a Root Agent for the first time.
2014-04-21 16:56:49 +01:00
Diva Canto
ca26583e6b
Delete some verbose debug messages
2013-07-04 15:17:06 -07:00
Diva Canto
bf214122cd
More debug, same issue
2013-07-04 11:53:22 -07:00
Diva Canto
ec9ffbb89a
More debug, same issue
2013-07-04 11:36:10 -07:00
Diva Canto
0cc0a2485c
More debug related to the previous commit
2013-07-04 11:18:05 -07:00
Diva Canto
ae42c93f9a
Now trying to find a cause of freeze at login related to friends status notifications.
2013-07-04 10:59:21 -07:00
Diva Canto
1e97972f78
Revert "One more debug mantis #6625 "
...
This reverts commit 8fa5d12fcb .
Conflicts:
OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
2013-06-30 07:25:13 -07:00
Diva Canto
c462e0a51c
Fixed previous debug message
2013-06-29 21:30:07 -07:00
Diva Canto
8fa5d12fcb
One more debug mantis #6625
2013-06-29 21:26:58 -07:00
Donnie Roberts
045c26f626
In LocalFriendshipTerminated, send the original client's agentId to the friend being removed instead of the friend's own id.
2013-06-07 18:43:00 +01:00
Justin Clark-Casey (justincc)
06ab168897
To further help with tracking down the apperance of too much "Unknown User" in chatlogs, etc. temporarily change each instance of this in OpenSimulator so we can identify where it's coming from
...
For instance, the "Unknown User" in Util.ParseUniversalUserIdenitifer becaomes "Unknown UserUPUUI (class initials + method initials)
This is to help with http://opensimulator.org/mantis/view.php?id=6625
2013-05-21 22:26:15 +01:00
Diva Canto
608444c9f7
Another 21 modules' directives moved out of .addin.xml
2012-11-13 08:27:51 -08:00
Justin Clark-Casey (justincc)
da2b23f18d
Improve efficiency of friends notification by only make one PresenceService call for all friends rather than one for each friend.
...
However, large groups could still take a very long time since we still need to message each avatar on different simulators.
2012-10-20 02:02:13 +01:00
Justin Clark-Casey (justincc)
224efe7b76
minor: Comment out friends notification log spam for now.
2012-09-12 01:58:01 +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
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)
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
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
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
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
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
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
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
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
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