Commit Graph

221 Commits (a9cc76e0efba7496909d613c75b81de6a9c5d979)

Author SHA1 Message Date
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 accd89b3f1 * First draft implementation of copying prim inventory items back to agent inventory
* Now, if you own an item in a prim, you should be able to successfully drag it back into your inventory
* Temporarily, users which are not owners of the item cannot copy it, even if 'everyone can copy' is set
* This is pending fixes/implementation of upstream permission implementation
2008-04-26 20:31:01 +00:00
Justin Clarke Casey 40176c12f9 * Implement full grid mode Trash empty
* Now, emptying the trash should remove folders and the items they contain as well as items which were not in a subfolder.
* This will only work once both the region and grid servers have reached this revision.
* You may also need to clear your cache before this will work
* Refactoring to follow.
2008-04-23 22:13:57 +00:00
Sean Dague a1cc0e436f changes to allow asset_source to be specified in the opensim.ini
this will work for sqlite and nhibernate, but will be ignored for
mysql and mssql (reverting to their ini files) until someone writes
that bit.
2008-04-23 19:13:06 +00:00
Justin Clarke Casey 4db839c3b8 * Implement proper emptying of trashcan on standalone
* On standalone, folders (and their items) should now be persistently deleted on trash emptying, as well as immediate child items
* An implementation for grid mode will follow.
2008-04-23 17:04:15 +00:00
Justin Clarke Casey 41f9bbc26d * Fix mantis #842 - folders which are created but left named "New Folder" in places other than directly under "My Inventory" should now be stored 2008-04-23 11:14:19 +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 8d8b4a314f * Add DeleteAllContents() method to InventoryFolderImpl - not yet used but will be soon
* Add locking to InventoryFolderImpl class - need more though.
2008-04-22 20:47:54 +00:00
Justin Clarke Casey fc6e23371f * Extend functionality to better handle delayed inventory service transfers to create folder, move folder and purge folder.
* Old 1.18 get folder functionality requires a little more consideration
2008-04-22 20:24:48 +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
Justin Clarke Casey 3d3eec436a * Remove user profile from cache when they log out from a region.
* A much more significant fix is required to clean up the cache when a user moves out of a region, but really better handling of delayed inventory cache updates needs to be 
written first, and possibly better affinity to cut down agent inventory requests when the move is between two regions hosted on the same server.
2008-04-20 20:36:06 +00:00
Justin Clarke Casey 8b177bf4a8 * Tweak inventory login failure message to point to the region owner as first point of call rather than the grid owner 2008-04-20 19:39:24 +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 b7ae8701ce * Working towards notifying the client if the inventory service has failed, rather than simply returning 0 items.
* This is very early support which would only be triggered in a rather unlikely case (if the user server correctly received an inventory skeleton, but later on failed to return the whole inventory in a timely manner.  Also, this only applies to the 1.19.1.4 client onwards
* Code cleanup and support for other failure cases (failure of inventory caching on region crossing, failure to actually add a folder/item, etc, should follow.
2008-04-14 18:43:23 +00:00
Justin Clarke Casey 451a5bbf30 * Put in crude poll waiting for 60 seconds for delayed user inventory delivery from the inventory service
* This will reduce failures where the inventory server is simply slow
* Still need to properly inform the user if the inventory service has failed altogether
2008-04-13 22:09:07 +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
Justin Clarke Casey a5176c2e2c * Change inventory async response deliver to deliver all items and folders at once, rather than each individual
* This is required in order to work towards eliminating some inventory race conditions and to better deal with situations where a grid inventory server is slow or not responding.
2008-04-11 18:13:10 +00:00
Justin Clarke Casey e26d4fc085 * minor: replace test of CachedUserInfo.RootFolder != null with something more readable, and make RootFolder get only 2008-04-11 17:02:20 +00:00
Justin Clarke Casey 205b95f2e8 * minor documenting, cleanup, renaming in user profile cache service 2008-04-11 16:49:20 +00:00
Justin Clarke Casey 576db5b72a * documenting and minor refactoring in UserProfileCacheService 2008-04-11 16:30:58 +00:00
Justin Clarke Casey 9a7717743b refactor: eliminate method in UserProfileCacheService 2008-04-11 16:13:33 +00:00
Justin Clarke Casey b41abbd50e * Minor: really just comment and subsequent indentation adjustment. Preparation for handling inventory problems where the inventory server receives a request and never responds, or is late in responding 2008-04-10 17:44:19 +00:00
Sean Dague 25fea01b92 further renaming of properties for clarity 2008-04-10 14:09:30 +00:00
Sean Dague c176caeb05 moved fields to properties for UserDataProfile, which was
actually a little more work than I expected given the copious
use of out params.
2008-04-10 13:53:06 +00:00
Sean Dague a6d27e0929 further refactor and rename of InventoryFolderBase properties
to reflect what they really are.
2008-04-08 23:26:31 +00:00
Justin Clarke Casey 8eab365e21 * Adjust some inventory lookup failure messages to reduce confusion as to what just went wrong 2008-04-08 20:31:36 +00:00
Sean Dague 5ee75998ce more refactoring, this time on InventoryFolderBase
* wrap attributes in properties
 * clean up names a little bit
 * clean up name styles
2008-04-07 23:27:05 +00:00
Sean Dague f436815107 Refactor InventoryItemBase to do the following:
* wrap fields as Properties
 * rename some fields/properties to more sensible names
 * set style to PropName to match more standard C# approach
2008-04-07 23:15:35 +00:00
Justin Clarke Casey 57afbdbdbd From: Kurt Taylor <krtaylor@us.ibm.com>
Patch to remove commented NotImpemented calls from within implemented script functions
2008-04-04 19:09:56 +00:00
Justin Clarke Casey d53dd8a7cc * Minor change on region grid asset client to change two store log messages to one 2008-03-31 14:19:40 +00:00
Justin Clarke Casey 875211b262 * Various 1.19.0.5 grid inventory request fixes. These will only take affect once the region and the grid servers have upgraded to this revision
* You may also need to clear your cache before seeing any effect.
* These fixes may or may not affect inventory on the RC client.
* These fixes should make non-root folders work better, stop inventory failure on first login, allow trash to be emptied and make texture picker in object edit view work properly
* Fixes are 1) make initial root folder request wait for async inventory delivery, 2) deliver all folders in the initial login skeleton, not just the root child ones and 3) deal 
with situations where we receive child folders from the inventory service before their parent is received.
2008-03-29 22:18:44 +00:00
Justin Clarke Casey 0a47a75b88 * Send full inventory folder skeleton to standalone client logins rather than just the root child folders
* This may resolve some current problems with non root child folders on standalone installations.
* A fix for the same problem in grid mode will come soon.
2008-03-28 19:35:01 +00:00
Justin Clarke Casey 18f9f1410d * Just inserting some exploratory comments into inventory code 2008-03-18 18:19:44 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
MW c04899b60a Part 2 of fixing inventory for client 1.19.1 (RC), inventory items should now show up.
Most likely still some problems and most like needs some more work (and still a couple of things to finish off).
2008-03-15 12:53:03 +00:00
Justin Clarke Casey 42123770de * Add comments and slight corrections to ClientView.AgentTextureCached
* Reduce 'asset not found' console debug spam
2008-03-12 17:02:08 +00:00
Justin Clarke Casey 956f7cb4f9 * Very minor error message change in GridAssetClient 2008-03-11 17:55:49 +00:00
MW 70ad5604cd disabled AssetDownloadModule and re-enabled the asset download code in the asset cache, until it can be seen if the module was the cause of some new problems that seem like they might be related to assets. I'll look into this more tomorrow. 2008-02-27 22:47:33 +00:00
MW 2c65c2da90 small fix in the showstate data in AssetCache to reflect that now some functions are no longer in AssetCache 2008-02-27 21:32:01 +00:00
MW e978d00914 After seeing sdague do his happy dance over trunk working "the best he has ever seen". I'm not sure I should be doing this commit, but oh well.
So anyway, it moves the Asset downloading (packet sending) to a module (AssetDownloadModule). 
So now at last, AssetCache should be just dealing with fetching assets from the asset server and caching them.
2008-02-27 21:11:01 +00:00
MW aac7c1dda5 another attempt at fixing asset lockups 2008-02-27 16:20:45 +00:00
MW a9ae5ab840 Hopefully fixed the bug that was causing a lot of the freezing. Which was happening due to locks in the AssetCache and Texturedownload module. Where the thread from the Asset thread would be take a lock on a list in the asset cache and then try to call the Callback into the texturedownload module and hit a lock in there which was held by a ClientView thread- which at the same time would be trying to request another texture from the cache and be hitting the lock in there held by the IClientAPI. The result each thread waiting for the other one to release a lock. And as one of those was the ClientView process packet thread. No more packets from that client could be processed. For now I've made a copy of the list in AssetCache so that it can release the lock. I'm doing more work on assets (moving the client asset downloading to a module ), so will hopefully change this into a better method once I've cleaned over things up a bit. 2008-02-27 14:40:30 +00:00
Justin Clarke Casey 65862aacea * Start sending "ImageNotFound" packet back to the client if we can't find an image
* This might stop some client's constant requests for unfound textures, which is a candidate for the memory leak
* If a texture is not found then the "Image not found" texture will now be displayed clientside
* If it works, this should resolve mantis 676
* Non texture image requests do not receive this packet yet
* This will require a prebuild
2008-02-25 23:26:35 +00:00
Justin Clarke Casey f95ad65189 * Improve alignment of packet queue stats headigns
* Correct asset cache stats table heading
* Correct spelling mistake in AssetCache (thanks ChrisD!)
2008-02-22 23:15:00 +00:00