Commit Graph

78 Commits

Author SHA1 Message Date
Charles Krinke
8d6096b815 Mantis#2165. Thank you kindly, CMickeyB for a patch that:
patch is attached that replaces the o(n^2) algorithm currently 
used to build the inventory cache with an o(n) algorithm using 
hash tables. the patch also adds some additional error handling.
2008-09-12 03:33:26 +00:00
Teravus Ovares
7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Melanie Thielker
10b2a4597a Mantis #1903
Thank you, cmickeyb, for a patch that fixes inventory folder retrieval.
2008-08-28 20:56:53 +00:00
Jeff Ames
3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Melanie Thielker
670719cb76 Mantis #1903
Thank you, cmickeyb, for a patch that prevents the loss of folders received
out of sequence, and the items within.
2008-08-27 00:40:36 +00:00
Melanie Thielker
29530f3029 Attachment persistence!!! Patch #9170 (Mantis #1171)
Attachments now persist across logouts. Mostly untested.
2008-08-19 07:11:58 +00:00
Jeff Ames
6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Mike Mazur
8ea92c0669 Thanks, lulurun, for a patch that addresses inventory problems that occur
occasionally, but are fixed on restart (issue 1919).
This patch introduces the following changes:
1. when a user teleports out of Region A, remove that user's profile
from the Region A user profile cache
2. when a user crosses between regions out of Region A, remove that
user's profile from the Region A user profile cache
3. the user profile cache's session ID member can now be set (written),
and is updated each time a connection with a new avatar is established (ie: a
new avatar enters the region)
4. when a region server looks up a user profile and a cache miss
occurs, fetch the user profile from the user server first instead of
immediately returning null
2008-08-12 06:21:02 +00:00
Justin Clarke Casey
43b2ff1d11 * Drop cached inventory from the local region when a user crosses out into a remote region
* May resolves inventory problems that occur when the user moves between two regions`
* e.g. if the user moves to a second region, adds an inventory item, moves back to the original region then tries to manipulate that item
* Not yet implemented for teleport
2008-08-01 18:49:48 +00:00
Justin Clarke Casey
a62b906a7b * allow inventory folders to be located by path
* first pass method impl
2008-07-31 17:32:13 +00:00
Justin Clarke Casey
078643a017 * refactor: Change CachedUserInfo.HasInventory to HasReceivedInventory to make actual function clearer 2008-07-31 16:05:50 +00:00
Justin Clarke Casey
58af0fabeb * minor: reduce coupling by passing in only session id to CachedUserInfo 2008-07-31 15:53:07 +00:00
Jeff Ames
80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
Johan Berntsson
ce4bcb5065 The new secure inventory server mode (in r5590) can now be disabled from OpenSim.ini. Default is to use the new mode. 2008-07-23 09:46:04 +00:00
Johan Berntsson
344c9caeb6 thanks lulurun for a security patch that blocks unathorized access to the inventory server (see http://opensimulator.org/wiki/Security_vulnerability_brought_by_non-check_inventory_service) 2008-07-23 06:59:02 +00:00
Melanie Thielker
4ff529bdaf Patch #9146 (No Mantis)
Prevent an exception caused by inventory server fetch requests
2008-07-12 18:26:25 +00:00
MW
b0330a0bb5 disabled the multiple inventory server support in login service again.
And reverted CachedUserInfo back to revision 5262. 
I don't think most of the inventory problems that people are reporting are due to these, but its easier to deal with one set of potential problems at a time, and I'm not going to get any time in the week to work on this anyway.
2008-06-29 20:39:34 +00:00
MW
031b3d5314 small change to see if that helps with the inventory problems. 2008-06-28 23:05:08 +00:00
MW
86defd0a69 plumbing for multiple inventory servers. Mostly done on the region server side.
TODO next is to make the login server read/write a users inventory from the correct server (the inventory url set in a userprofile)
On the region side, although not tested with multiple servers it should work if that inventory url was set, and the inventory servers urls have been added to the CommunicationsManager, using CommunicationsManager.AddInventoryService(string hostUrl)
2008-06-28 15:13:17 +00:00
Charles Krinke
1cd6b71b60 Mantis#1594. Thank you, Melanie for a patch that:
Fixes:
- Wearable icon and name sreset to default on copy/paste
- Cache is not updated when renaming/moving folders
- Partial refactor to make inventory less dependen on AssetBase having a "Name" field
- Add llGiveInventoryList() function
2008-06-26 02:46:29 +00:00
Charles Krinke
7821cca2f5 Mantis#1514. Thank you kindly, Boscata for an InventoryServer patch
to allow the InventoryServer to work with MSSQL..
2008-06-11 14:02:16 +00:00
Jeff Ames
5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Charles Krinke
01b5425a2d Thank you kindly, Melanie for a patch that avoids a null
ref in inventory give and also now causes items to appear
in the correct folders now, no longer in the root folder.
2008-05-19 20:05:10 +00:00
Jeff Ames
65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Justin Clarke Casey
3f345bf685 * Removing polling delay for non-CAPS inventory fetch if the client has not yet received data from the inventory service
* Replaced instead with the system now used by other requests where the fetch request is placed on a queue and service when the data comes in
2008-05-09 21:33:19 +00:00
Justin Clarke Casey
6c62985fd5 * Refactor: Do the root case removal thing again, this time in ItemReceive() 2008-05-04 01:04:49 +00:00
Justin Clarke Casey
9646258fdf * Refactor: Simplify CachedUserInfo.FolderReceive() by removing root folder special case 2008-05-04 00:53:01 +00:00
Justin Clarke Casey
0f716e3ac4 * Simplify CreateFolder() by folding previous special root case into FindFolder() 2008-05-04 00:06:34 +00:00
Justin Clarke Casey
27a7391d6b * Add ability to defer item actions for AddItem() and DeleteItem(). This won't be useful until we let the client cache (again?) 2008-05-03 23:33:20 +00:00
Justin Clarke Casey
56827894e9 * Refactor RemoveItem() 2008-05-03 23:23:46 +00:00
Justin Clarke Casey
688940e810 * Refactor: Renaming item and folder tree search methods to have Find*() prefixes 2008-05-03 22:39:33 +00:00
Justin Clarke Casey
068163b14b * Refactor: Move MoveFolder() and PurgeFolder() into CachedUserInfo (which arguably should be split) 2008-05-03 19:50:49 +00:00
Justin Clarke Casey
45430a5403 * Refactor: move UpdateFolder into CachedUserInfo 2008-05-03 19:27:34 +00:00
Justin Clarke Casey
1087542705 * Refactor: Move bulk of CreateFolder from UserProfileCacheService into CachedUserInfo
* Remove unused/superseded methods from GridInventoryService
2008-05-03 18:57:02 +00:00
Justin Clarke Casey
a5dfca8958 * Refactor: remove redundant userId parameter from UpdateItem() and DeleteItem()
* Put warning in remove folder method about non implementation (not that this is used anyway - may be legacy)
2008-05-03 18:13:32 +00:00
Justin Clarke Casey
f5609ba452 * Refactor: remove pointless agentId parameter from CachedUserInfo.AddItem()
* Remove old framework asset transactions files which were region modularized
2008-05-03 18:01:38 +00:00
Justin Clarke Casey
a81edef2b9 * Refactor: Remove redundant userID from further up the inventory request chain 2008-05-01 21:22:03 +00:00
Justin Clarke Casey
1de6cffa28 * Refactor: Remove the unused userID parameter that was being passed into almost every inventory method
* This allows lots of redundant inventory methods with only slightly different names to be eliminated.
2008-05-01 20:47:33 +00:00
Justin Clarke Casey
3508298ddf * Refactor: Rename InventoryFolderImpl.HasSubFolder() to GetDescendentFolder() 2008-04-30 20:04:06 +00:00
Teravus Ovares
a9cc76e0ef * Long awaited patch from A_Biondi Mantis 923. Kept alive by Melanie. Thanks A_Biondi and Melanie!
* This builds but might not work.   JustinCC will examine..   it may work out of the box.
2008-04-30 16:08:24 +00:00
Teravus Ovares
911e63765c * Single Attachments now work from inventory. You can attach from inventory and detach from inventory.
* Detaching from right clicking in world, detaches to your inventory.
* If you go up to a prim and attach it from in world, it appears in your inventory.
* Attachment placement is saved when you detach them. 
* Choosing wear remembers your last attachment point from inventory.
* Wrote a method to update an inventory item's asset and sends the updated inventory item to the Client
* Wrote a recursive method to find the folder of a known existing inventory item.
* Removed a block on physics object position on creation.  This might crash a region or two, let us know via Mantis if your region crashes because of a physics out of bounds error.
* Drop doesn't work.  The menu item doesn't even come up.  Don't know why :P.
2008-04-27 20:10:28 +00:00
Justin Clarke Casey
cd29f90418 * Add folders and items locking in external manipulations of InventoryFolderImpl carried out by CachedUserInfo
* These will do temporarily pending refactoring
2008-04-22 20:59:08 +00:00
Justin Clarke Casey
68c6b6ece3 * Replace previous specific inventory callback code with generic alternative 2008-04-22 18:58:09 +00:00
Justin Clarke Casey
269a2e4b88 * Allow folder renaming to complete after an agent inventory has been received by a region from the inventory service
* This replaces the old behaviour of failing straight away, which could cause lost updates if the inventory service was slow in responding
* This is the first baby step to making all inventory requests behave this way, to reduce inventory lossage
2008-04-22 17:24:13 +00:00
Adam Frisby
fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Teravus Ovares
dd4deebbcb * Re-Fixed caps
* This fixes chi11ken's/OpenViewer's libsl cap issue.
2008-04-17 19:42:54 +00:00
Teravus Ovares
e777f88028 * A tweak of the caps system so that new caps have random paths instead of a fixed path
* This allows caps requests to be routed to regions where the agent is currently a root agent instead of the region that they logged into as it did previously.   
* This fixes a wide variety of bugs related to 'can't do X once i've crossed a border'.
* The first seed cap request fails, the second one works.  (this generates an error message on the console)
* Experimental.
2008-04-15 23:10:12 +00:00
Justin Clarke Casey
7bfd7e6f08 * Remove the worst excesses of my inventory debugging code 2008-04-11 18:58:09 +00:00
Justin Clarke Casey
7ac7f79f88 * Eliminate a class of errors where an inventory request could be made before the region had completely received the inventory for the user.
* A much larger race condition where the inventory request could be made before the region gets any data at all will also be fixed in the near future.
* This change also fixes a regression from two patches ago where items stopped appearing in standalone inventory
2008-04-11 18:46:54 +00:00
Justin Clarke Casey
649f304e76 * Minor inventory code cleanup following on from last patch 2008-04-11 18:19:21 +00:00