Inventory / Avatars / Outfits
- Restored the previous support for sending duplicate inventory items for inventory links (which as very close to correct, but produced worrisome errors in the viewer log that sounded worse than they were).
- Reorder the original / link item sequence on links to ensure the duplicate originals are sent before the links so that links are always immediately resolvable at the viewer end.
- Fixed a null reference exception when attempting to resolve an actual (real) broken link, which could result in partial inventory loading. (Seen repeatedly during appearance updates after outfit changes by Astoria in some tests.)
This combination of commits should resolve all cases of valid links being falsely reported as broken, especially after clearing the viewer inventory cache.
- Split the check for whether an avatar was considered fully in a region into multiple separate completion flags, which causes agent/prim updates from the scene view (object culling) to wait until the agent is fully in the region, initial avatar data sent, animation pack sent, and the transition from child agent to root agent is fully complete. This is likely to resolve many issues with attachments or prims in the region missing on region entry (login or teleport), animations not being active on login/teleport, avatar radar and viewer avatar notification problems, avatars displayed at the wrong locations (e.g. in the sky at 128,128 or at 0,0,0), attachments missing or shown near 0,0,0 and other cases of improperly rendering attachments. (It may provide a fundamental fix for issues like the "ghost HUD" problems.
- Fixed a MySQL exception problem when attempting to update the logout time and mark a user as offline, when a region is shut down with the user still in the region. This problem would leave the user showing as "online" when in fact the region wasn't even running anymore.
- Fixed a possible Messaging grid service exception reported by VinHold on the GW grid when a user logs in and someone in their friends list is on a region that cannot be looked up (e.g. has just been shut down) but the user is still marked online. This problem is very likely the direct result of the problem fixed in the previous point above.
- Fixed an exception triggered by a Cool VL viewer login sending of an inventory fetch request that does not include an "items" list in the request.
- Tweaked the
/!findserver chat command to allow a user to check the server's understanding of attachments too. The output will now include attachments too, if user specifies the UUID or owns the attachment. The output for these cases will indicate "(attached)" at the end of each matching object.