Commit Graph

43 Commits

Author SHA1 Message Date
Oren Hurvitz
a0739a80a8 Fixed bugs when getting the root folder.
1. The error checking for the case where there's no "My Inventory" folder was
incorrect: it checked the wrong variable.
2. If GetSystemFolderForType() is called to get AssetType.RootFolder then
it should return the root folder immediately; not look for another root
folder below it.
2013-01-02 00:04:14 +00:00
Justin Clark-Casey (justincc)
2aa58c5843 Do not allow invariants to change on calls to XInventoryService.UpdateItem()
This is to help track down http://opensimulator.org/mantis/view.php?id=6359 where creator IDs on items and rezzed objects have been reported to sometimes change.
This should never happen - a particular item should never change creators (if an item is given then a new item (with new id) is created).
Invariants are inventory type, asset type, folder (changed only on MoveItems()), CreatorIdentification and Owner.
If caller attempts to change an invariant, warning is logged but other properties are still changed.
If you see this warning, reporting on Mantis 6359 would be very welcome with the exact operation being done at the time.
2012-11-17 01:01:14 +00:00
Justin Clark-Casey (justincc)
75c880a6f3 Update parent inventory folder version numbers when folders are moved/created/deleted to match version numbers cached by viewers.
This is done in the way that one would expect (e.g. moving a folder increments version number on both source and destination parent folders).
This should hopefully improve viewer reuse of its cached inventory information.
Currently MySQL only but will be implement for SQLite/MSSQL if there are no issues.
2012-11-09 01:13:19 +00:00
Justin Clark-Casey (justincc)
7ea832d47c Fix regression introduced in a0d178b2 (Sat Aug 25 02:00:17 2012) where folders with asset type of 'Folder' and 'Unknown' were accidentally treated as system folders.
This prevented more than one additional ordinary folder from being created in the base "My Inventory" user folder.
Added regression test for this case.
Switched tests to use XInventoryService with mostly implemented TestXInventoryDataPlugin rather than InventoryService
Disabled TestLoadIarV0_1SameNameCreator() since this has not been working for a very long time (ever since XInventoryService) started being used
since it doesnt' preserve creator data in the same way as InventoryService did and so effectively lost the OSPAs.
However, nobody noticed/complained about this issue and OSPAs have been superseded by HG like creator information via the --home save oar/iar switch.
2012-08-29 02:01:43 +01:00
Justin Clark-Casey (justincc)
a0d178b284 Following on from f8a89a79, do not allow more than one 'type' folder (e.g. calling cards) to be created in the base "My Inventory" user folder.
This is to accomodate situations where viewers will create more than one 'type' subfolder (e.g. calling cards)
But at the same time to prevent multiple such 'system' folders (those in the base "My Inventory" user folder).
This also makes GetFolderForType() only return a folder in the base "My Inventory" folder, if such a type folder exists
2012-08-25 02:00:17 +01:00
Justin Clark-Casey (justincc)
f8a89a79eb Allow multiple calling card type inventory folders to be created.
Modern viewers want to create Friends and All folders of this type inside the root Calling Cards folder.
2012-08-25 01:09:12 +01:00
Justin Clark-Casey (justincc)
01a2b0b289 Fix various issues with http inventory
1) The return messages were being wrongly populated with the names of asset, inventory and sale types when their corresponding integers should have been used instead.
2) Folders with links were including the linked items in the descendents figure, when only the links should be included.
3) Links and linked items in link folders were not being included in the return data, and not in the correct order.

Now that these issues have been addressed, outfits and attachments appear to work consistently when HTTP inventory is enabled (as is now the default).
2012-06-02 04:57:10 +01:00
Justin Clark-Casey (justincc)
7e97f0e898 minor: extend commented out LinkInventoryItem log message for future use 2012-05-21 21:00:22 +01:00
Justin Clark-Casey (justincc)
16d303f7cd Fix bug where outfit folders could not be renamed.
Outfit folders are a type of system folder whose details are allowed to change.
2012-05-21 19:38:43 +01:00
Justin Clark-Casey (justincc)
896cd45939 Fix issue where a new outfit folder is not created when a new outfit is saved if there are no previous outfits
This was because AddFolder() was disallowing these though they are legal.
2012-05-18 23:55:18 +01:00
Justin Clark-Casey (justincc)
e83bc049df refactor: Rename new DeleteFoldersEx/PurgeFoldersEx methods to DeleteFolders/PurgeFolders overloads as previously discussed with Oren - I think this makes more sense on balance
These overloads are not publicly available on core connectors or IInventoryService.
2012-05-04 20:37:21 +01:00
Oren Hurvitz
ad23774433 Allow deleting folders even if they're not in the Trash
The functions DeleteFolders() and PurgeFolder() still work as before, i.e. they only allow deleting folders that are in the Trash. However, the functions DeleteFoldersEx() and PurgeFolderEx() can now be used to delete any folder.
2012-05-04 20:30:46 +01:00
Diva Canto
953fe46811 A few minor tweaks here and there in XInventoryService. 2012-04-06 11:48:41 -07:00
Melanie
37603ca6da Reverse a conditional in XInventory that made updating system folder evrsion numbers impossible 2012-03-27 23:11:06 +01:00
Diva Canto
8131a24cde Send the config section name up to the service classes themselves (XInventory and Assets). 2012-03-27 10:08:13 -07:00
Justin Clark-Casey (justincc)
c8304b7f84 Fix avatar parameter updating for viewer 3 and maybe 2.
When a slider parameter is changed, the viewer uploads a new shape (or other asset) and the item is updated to point to it.
Viewer 1 uploaded the data in the initial request itself, so the asset references was almost always correctly updated.
However, viewer 3/2 always uploads data in a subsequent xfer, which exposed a race condition where the viewer would make the item update before the asset had uploaded.
This commit shuffles the order of operations to avoid this race, the item is updated with the new asset id instead of the old one while the upload was still taking place.
A second race had to be fixed where avatar appearance would also be updated with the old asset id rather than the new one.
This was fixed by updating the avatar appearance ids when the appearance was actually saved, rather than when the wearables update was made.
2011-09-23 02:59:33 +01:00
Diva Canto
d60f525baa HG inventory transfers over the profile working. 2011-05-27 08:19:40 -07:00
Justin Clark-Casey (justincc)
ab855e6f8d fix bug where outfit folder links could not be deleted 2011-05-26 01:32:36 +01:00
Justin Clark-Casey (justincc)
bdd7849094 Allow item links to be deleted even when other deletes and purges are disabled.
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in.
Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being
accidentally moved.  When a link is deleted, the target of the link is never touched.
This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-19 00:51:14 +01:00
Justin Clark-Casey (justincc)
6dcc87b1ad Accidentally committed too early
Revert "Allow item links to be deleted even when other deletes and purges are disabled."

This reverts commit 491279f99a.
2011-05-18 00:23:35 +01:00
Justin Clark-Casey (justincc)
491279f99a Allow item links to be deleted even when other deletes and purges are disabled.
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in.
Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being
accidentally moved.  When a link is deleted, the target of the link is never touched.
This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-17 22:31:16 +01:00
Diva Canto
e3c3d626fb Commented verbose debug message. 2011-04-24 16:14:24 -07:00
Diva Canto
c617d658dd Added creator info across the board -- TaskInventoryItems and InventoryItems themselves. Tested. Seems to be working, main tests pass. Nothing done for IARs or HG transfers yet -- this only works for OARs for the time being.
New migration in inventory table in order to make CreatorID varchar(255).
2010-11-21 17:19:24 -08:00
Melanie
bbdf6cab50 Fix cast issue 2010-09-02 00:20:57 +01:00
Melanie
203b7de266 Allow increasing the version in system folders 2010-09-02 00:04:17 +01:00
Melanie
7efe7feef5 Update: Allow the version to increase only 2010-09-02 00:02:07 +01:00
Melanie
93edc75147 Disallow modification of system folders. Prevent changing the type of folders
and prevent resetting the version number
2010-09-02 00:00:54 +01:00
Justin Clark-Casey (justincc)
704a53fb9b Fix bug in llGiveInventory() where items were disappearing on relog
This was a regression - the code to look up the correct type folder was no longer being called if items were added without a parent folder set
This may have been broken since commit bd49985a on 2010-05-02
2010-08-23 23:16:48 +01:00
Justin Clark-Casey (justincc)
74e5fe5aa9 Remove various warnings and improve logging messages. No functional changes. 2010-08-23 22:24:23 +01:00
Melanie Thielker
f809797d62 Allow the trash folder itself to be passed to PurgeFolder 2010-08-06 15:04:25 +01:00
Melanie
aa7cadca52 Add some options 2010-07-24 23:36:07 +01:00
Melanie
4dbff62ef5 Fix some inventory issues 2010-07-24 23:15:06 +01:00
Justin Clark-Casey (justincc)
71433075a9 Fix obvious bug in XInventoryService.GetFolderItems() which was preventing the iar module from being able to save single item iars 2010-07-14 17:12:12 +01:00
Diva Canto
08e3389790 Buglet fix in HG inventory. Make sure that GetRootFolder for non-HG xinventory is the folder "My Inventory". Also changed the Suitcase folder name to "My Suitcase". 2010-06-29 04:38:15 -07:00
Diva Canto
5c0068723f Changed XInventoryData's CreatorID to a string. 2010-06-08 15:52:26 -07:00
Diva Canto
0b43b263d4 Fixes mantis #4691 2010-05-16 09:12:40 -07:00
Diva Canto
6a4fae123a Started redoing HGInventoryBroker for XInventory and with multi-protocol in mind. Unfinished. 2010-04-29 11:39:13 -07:00
Diva Canto
3f9d38538e XInventory connector/handler showing signs of life. Tested, but needs more testing. 2010-04-27 11:01:56 -07:00
Melanie
65a9bcee70 Create root inventory folder with proper type (9) instead of -1 2010-02-08 17:46:54 +00:00
Diva Canto
22a3ad7f6c * Bug fix in XInventoryData -- groupOwned is an int in the DB
* Bug fix in InventoryServerInConnector -- m_config
2010-01-31 11:26:12 -08:00
Diva Canto
40d8e91008 * Added a few files that were missing in the repo.
* New HGInventoryService which allows restricted access to inventory while outside
2010-01-31 11:10:57 -08:00
Melanie
1ae9bfc074 Finish conversion if XInventoryService 2010-01-04 20:53:28 +00:00
Melanie
e76333555d First stage port of the XInventoryService 2010-01-04 20:53:26 +00:00