Commit Graph

137 Commits

Author SHA1 Message Date
UbitUmarov
9d390564a9 avoid a possible null ref; cosmetics 2022-02-09 23:08:58 +00:00
UbitUmarov
da928d6099 != UUID.Zero is slow 2022-01-09 02:28:51 +00:00
UbitUmarov
8526f938f7 move /friends handler 2020-04-27 00:23:59 +01:00
UbitUmarov
fdecf80016 mantis 8654: exclude NPCs from some Friends ops 2020-02-01 15:26:58 +00:00
UbitUmarov
3491af440f missing files... 2019-04-30 23:01:37 +01:00
UbitUmarov
d9a300fa8e some cleanup.. remove some stats that only some do look at once on a lifetime 2017-06-14 20:19:13 +01:00
UbitUmarov
fb427daa34 avoid a null ref 2017-05-11 19:06:49 +01:00
Melanie Thielker
1e9cbf5c97 During login cancel, don't error out here on a null client. 2017-01-07 00:37:13 +00:00
Melanie Thielker
b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
UbitUmarov
5861355577 do friends recaching on MakeRoot for normal tps, delay it on crossings 2016-08-04 17:39:10 +01:00
UbitUmarov
bb8e271081 fix a typo 2016-08-04 17:29:47 +01:00
UbitUmarov
800044cead take friends out of onMakeRoot if crossing 2016-07-26 22:30:51 +01:00
UbitUmarov
1982d72320 Make changes to a friend rights reach him on another sim; find on map does show the region. Issues: precise location on region still not avaiable and object edit permitions on viewers edit are not being updated (but are enforced by region). friends information is updated, and warnings are displayed. Only did minor testing... 2015-10-26 22:42:48 +00:00
Diva Canto
d00f73c3a4 Deleted OpenSim.Framework.Communications. Moved its two remaining files to OpenSim.Framework. 2015-09-04 14:39:23 -07:00
Justin Clark-Casey (justincc)
ec8d21c434 Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
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