SL project updates: 51/2: TPVD meeting, Aditi inventory changes

Whispering Wind; Inara Pey, December 2015, on FlickrWhispering Wind (Flickr) – click any image for full size

The following notes are primarily taken from the Server Beta User Group meeting of Thursday, December 17th and the TPV Developer (TPVD) meeting held on Friday, December 18th 2015. A video of the meeting is included at the end of this report, my thanks as always to North for the video recording and providing it for embedding.

Server Deployments – Recap

  • On Tuesday, December 15th, the Main (SLS) channel received the server maintenance package previously deployed to all three RC channels, comprising simulator crash fixes, and implementing feature request  BUG-10192.
  • On Wednesday, December 16th the three RC channels all received the same new server maintenance package, comprising crash and internal simulator fixes, LSL HTTP requests accessing data sources that require non-text Accept headers (such as the Destination Guide), updates to group member counts to help deal with recent group database issues.

There will be a further main (SLS) deployment on Tuesday, December 22nd, which will mark the final scheduled deployment for 2015.

SL Viewer Updates

Release Viewer

On Thursday, December 17th, the Chromium Embedded Framework viewer was promoted to the de facto release viewer, version 4.0.0.309247. This viewer replaces the ageing LLQTWebKit system used in the Web media plugin with a new one based on the Chromium Embedded Framework (CEF) that supports modern web technologies.

RC Viewers

The Vivox and HTTP RC viewers, currently version 3.8.7.307744 and 3.8.7.308134 respectively, are being merged into a single release candidate. This RC will also include the CEF updates, and the remaining Maintenance (currently version ) and Quick Graphics (currently version 3.8.7.308556) RCs will also be updated to include the CEF changes.

However, again due to the annual Christmas / New Year no change window, no further viewer releases are anticipated before the week commencing Monday, January 4th, 2016.

TLS 1.2 Implementation

As well as supporting the Chromium Embedded Framework  capabilities for media, the latest release viewer (4.0.0.309247, as noted above) also sees the LL viewer fully support TLS 1.2, which is an important point for TPVs to note, as Oz explained at the TPV Developer meeting:

That is going to be critical by next spring. Anything that does not support TLS 1.2, will not be able to do any interactions with cashier or anything that involves money. This isn’t optional on our part or just an arbitrary choice on our part, this is a compliance requirement. so, be looking for that in your own stuff; if you don’t support TLS 1.2, your users won’t be able to do anything that involves money, because we will have switched off everything earlier than that server-side.

When this change comes into effect, it will mean those users accustomed to using very old versions of viewers are going to have to move to currently supported versions of those viewer if they wish to do anything involving money.

Project Bento

On Wednesday, December 16th, the Lab issues the Project Bento viewer, version 5.0.0.309171, offering an enhanced Second life avatar skeleton. This viewer and the associated support for it, is currently in open beta, and can be tested using the Aditi (beta grid). You can read the Lab’s announcement, and my own initial coverage as background.

The project did come up for discussion at the Third Party Developer meeting on Thursday, December 18th, and I’ve provided a separate report on the matters discussed.

Aditi Inventory Syncing

Recently, people have been experiencing assorted issues when attempting to log-in to Aditi, the beta grid (see here for an example).  As a result of these various issues, the Lab has made changes to the Aditi log-in process, and one of these changes will affect how inventory is synced between the two grids.

Up until now, inventory syncing between the two grids (so that your inventory on Aditi matches your inventory on Agni) has been a manual process: change your Second Life log-in password and this triggers an update to your Aditi inventory (which could take 24-48 hours to apply).

With the new update, which will be coming into effect in the near future, changing your password no longer triggers an Aditi inventory update. Instead, a new methodology is employed, as Coyot Linden explained at the Server Beta meeting on Thursday, December 17th:

The current method of syncing accounts from Agni to Aditi has … issues,  even when you wanted it to happen, it sometimes wouldn’t and when it did it overwrote inventory. Now, there are two major differences: 1. It MERGES AGNI inventory into ADITI inventory instead of overwriting; 2. It is based on whoever has logged into ADITI in the last 24 hours when it runs in the middle of the night SLT. No changing passwords any more.

The merging means that items unique to people’s inventories on Aditi (items they have created there but not replicated on Agni) will no longer be overwritten. However, duplicates of items will not result from the merge, as Oz Linden explained:

If an item is only on Aditi, it will still only be on Aditi; if it was only on Agni, it will be added to Aditi, if it was on both you will have just one copy on each grid … When you “modify” an object, you’re really making a new object, so yes, it knows that it has been modified… they are no longer the same object.

The upshot of this is that as this update comes into effect, changing your SL password will no longer trigger your Aditi inventory being overwritten by your Agni inventory; instead, a nightly process will run automatically, and anyone who has logged into Aditi since the last time the process ran will have their Agni inventory merged into their Aditi inventory. If you are logged-in when the process runs, a re-log will be necessary to see the updated inventory.

Continue reading “SL project updates: 51/2: TPVD meeting, Aditi inventory changes”

SL project updates 45/2: TPV Developer meeting

Mont Saint-Michel
Mont Saint Michel

The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, November 6th 2015. A video of the meeting is included at the end of this report, and time stamps to it are provided. My thanks as always to North for the video recording and providing it for embedding.

Server Deployments Week 45 – Recap

  • On Tuesday, November 3rd, the Main (SLS) channel received the server maintenance package previously deployed to BlueSteel and LeTigre, comprising a simulator crash fix
  • On Wednesday, November 4th, all three RC channel received a new server maintenance package comprising a fix for group invite throttle notifications, and an internal server code clean-up.

Following the main channel deployment, issues were variously reported with llHTTPRequest returning NULL_KEY even when it should not be throttled (see BUG-10627). The issue was initially noted with skill gaming mechanisms, but has also been encountered by those using Sculpt Studio, and reportedly with breedable systems.

SL Viewer Updates

[0:20] A further Maintenance RC viewer due to be released in week #46, which includes a range of fixes, including some for the regressions present within the current de facto release viewer (version 3.8.6.305981).

It currently appears that the next viewer promotion to release status will either be this maintenance viewer or the HTTP viewer – however the promotion is unlikely to occur in week #46, due to the Maintenance RC only just having been released and because the HTTP viewer his a number of issues to be resolved – see below.

Quick Graphics RC Viewer

[0:35] There are still issues with this viewer which although described as “nothing terrible” in the Lab’s view, are sufficient to prevent its promotion in the immediate future.

HTTP (Project Azumarill) RC Viewer

[1:04] There are a number of issues which have been identified by both the Lab and reported by users which are sufficient to block the promotion of this viewer to release status. One of these is an increased number of viewer disconnects on teleporting. The causing of this is proving elusive as it seem to only occur for some people with others never encountering issues. Other significant reported issues include:

  • BUG-10230 – Voice often fails to connect on the Azumarill viewer
  • BUG-10391 – Avatar often bakes fails on Azumarill.

CEF (Project Valhalla) Project Viewer

[1:19] The Chromium Embedded Framework viewer is performing well on Windows in the Lab’s estimation, and is getting “really close” on the Mac. The hope is that this viewer will progress from project status to a release candidate “pretty soon”.

[16:40] There have been some reports of issues with this viewer, including BUG-10598, logged out when tping from one LM to another, which is likely related to the disconnect issues being experienced with the HTTP viewer (both the HTTP viewer and the CEF viewer are closely related).

[17:25] There has been a report of “major” HTML video performance issues (see BUG-10558). However, running 30+ YouTube videos via HTML 5 in a single location is viewed by the Lab as possibly excessive and, as noted on the JIRA, the problem hasn’t been easy to reproduce and the video footage supplied might suggest a problem other than simply with running multiple HTML 5 videos.

Vivox Project Viewer

[1:44] A new project viewer, version 3.8.7.307189, was released on Friday, November 6th. The Vivox project viewer should correct a number of Voice quality and connection issues on both Windows and the Mac.

The Lab requests that anyone who has experience Voice issues to try this viewer, and if it does not resolve their issues to raise a JIRA, being sure to cite this viewer’s version number in the report. Those failing to indicate they have tried the project viewer are liable to be asked to do so, simply because Vivox has asked the Lab not to forward bug reports to them unless they have been tested against the Vivox package included in this viewer. For a list of fixes, please refer to the release notes in the above link.

Simulator Behaviour Changes

Attachment Point Validation

[30:15] As noted in the last TPVD meeting in October, the Lab are shifting a number of validation checks from the viewer to the simulator. One of these is attachment point validation checks, which will mean that attachments attempting to fix itself to an invalid attachment point ID will be attached to the chest by the simulator.

Mesh Upload Validation Checks

[31:15] A further simulator-side check the Lab has been considering would prevent the upload of animations and meshes weighted to valid attachment points. The Lab have been discussing this given the feedback given in October (see also FIRE-17144 and BUG-10543 for feedback as well), and have decided to investigate options further rather than implementing any immediate changes. However, they do note that there is no guarantee the ability to upload meshes weighted in this way will continue in the future.

[32:05] The Lab has made it clear what will be implemented in the near future is a simulator validation check to prevent the upload of animation or mesh items weighted to use joints  /attachment points which are not a part of the recognised set of avatar joints.

Other Items

Gateway API

[22:20] An issue has emerged around the upcoming gateway trial programme which is loosely connected to the avatar updates mentioned above. The new avatars (mesh and “Classic”) are only available via the Lab’s “new” registration API. Currently, the API presented to gateways is the older version, which relies on the default Character Test avatar.

As noted at the TPVD meeting, this could be immediately off-putting to new users entering Second Life through the new trial gateways. However, the Lab appears to be “pretty close” to being able to switch the gateway SPI to using the newer set-up – and this may be one of the reasons the trail gateway programme hasn’t as yet been officially announced.

Firestorm Release

Not directly related to news from the Lab, but the next release of the Firestorm viewer should be around Monday, November 16th or Tuesday, November 17th. However there are still dependencies on this, and it is not a hard set of dates.

SL project updates 41/2: TPVD meeting, attachments & Interest List issues

Ironwood Hills; Inara Pey, October 2015, on Flickr Ironwood Hills (Flickr) – blog post

The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, October 9th, 2015. A video of the meeting is included at the end of this report, although the opening few minutes of the meeting are missing. Because of this, I’ve included an audio file as well to cover the opening of the meeting.  Time stamps to both the audio and the video are provided, and my thanks as always to North for the video recording and providing it for embedding.

Please note that any extraneous noises on either the audio or the video are the result of an open mic in the meeting itself, and not from myself or North

Server Deployments: Week 41 – Recap

As per the server deployment thread, there were no scheduled deployments / restarts for the three RC channels during the week, while the Main (SLS) channel received the same server maintenance package deployed to the RCs in week #40.

SL Viewer Updates

 

[00:00 – 02:10 on audio]

CEF Project Viewer

On Wednesday, October 7th, the Lab issued the long-awaited project viewer utilises the Chromium Embedded Framework (CEF) for media handling – and more – in Second Life. Version 4.0.0.305703 sees CEF replace the ageing llqtwebkit functionality for media management in Second Life (also see my separate update).

[13:25 video] The emphasis from the Lab is that if you use web media in-world test your products / projects / uses thoroughly with the CEF project viewer, and make sure you continue to test as the project viewer is updated, in order that specific issues encountered can be reported and looked at while the lab is still developing the viewer.

It also appears that QuickTime media may still work on this viewer, rather than being disabled, as had been indicated in my last TPVD update. However, this should not be taken to mean either QuickTime or Flash will be supported by the Lab going forward, or that media using them will be viewable by all users. CEF, HTML 5, etc., are the future of media in SL.

Other Viewer Updates

On Friday, October 9th the HTTP updates viewer (project Azumarill) was promoted to release Candidate status with the release of version 3.8.5.305771. This viewer provides improved performance and stability. Impacts include: asset uploads, AISv3 inventory manipulation, VMM, Experience management, LSL compilation, Simhost event polling, etc.

Currently, it appears as though the Maintenance RC viewer, version 3.8.5.305531, is in line to be promoted to the de facto release viewer in week #42 (week commencing Monday, October 12th).

An update for the Oculus Rift project viewer (currently version 3.7.18.295296, and now almost a year old), is still expected, but it is subject to other work being undertaken at this point in time.

Attachment Loss on Region Crossings

[03:44 audio;  00:00 video]

The Lab recently carried out extensive work to reduce the number of attachment loss issues occurring as a result of issues caused directly within the viewer itself (project Big Bird). However, while this work fixed a lot of issues, some still remain, particularly during region crossings, whether physical or via teleport (see BUG-7761 as an example).

Essentially, what happens when moving from one region to another is that all of the attachments on your avatar must get new IDs from the simulator to which you are moving. The viewer then has to associate these new IDs with the attachments you are wearing, and the locations where those item as actually attached. In doing so, it attempts to preserve continuity  by keeping things where they were according to the region you’re leaving, and then updating them with the information it receives from the new region.

A problem I sometimes encounter when flying / boating is returning home and finding one of my scripted mesh shoes has been detached at some point during the trip
A problem I sometimes encounter when flying / boating is returning home and finding one of my scripted mesh shoes has been detached at some point during the trip

This obviously involves a lot of messages being passed back and forth between server and viewer – and the more attachments you have, the greater the number of messages being passed back and forth.

Additionally, if the attachments are scripted, further messages relating to script states, etc., also need to be passed relating to their state, etc., which adds to the load. Finally, all of these messages may use different transport mechanisms to pass between server and viewer.

This means there are many opportunities for messages to arrive out-of order due to race conditions, etc., or to be dropped and lost because of possible network issues and some messaging mechanisms not having a retry option, etc. It is these problems which tend to result in issues with attachments being removed, etc.

The Lab is interested in trying to eliminate as many of these problems as they can (allowing for the fact some might be related to your network connection, and possibly outside of their ability to control). However, in order to do so, they first need to identify exactly what is going on, and this requires examples of attachment losses, etc., that are consistently reproducible (e.g. attachment type X will always detach when crossing between regions Y and Z, for example). It is these kinds of consistent examples which are proving hard to find – so if you do know of one, please raise a JIRA outlining it step-by-step.

Continue reading “SL project updates 41/2: TPVD meeting, attachments & Interest List issues”

Second Life project updates 39/1: TPV Developer meeting and more

Junk; Inara Pey, September 2015, on FlickrJunk September 2015 – blog post

The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, September 25th, 2015. A video of the meeting is included at the end of this report, with any time stamps in the following text referring to it. My thanks as always to North for the recording and providing it for embedding.

Server Deployments: Week 39

As always, please refer to the server deployment thread for any additional updates.

Following the RC deployment, there were some reports of issues which seemed to be related to capabilities failures with the simulators concerned, although (at least in one case) no sign of actual caps failures could be seen. It’s not clear how widespread this issue may have been, and those regions that were affected appeared to have the issue resolved with one (or more) restarts.

Server Maintenance in Week #38

The end of week #38 saw several periods of unscheduled simulator maintenance (see here for example), leading to rumours that the deployments for that week were being rolled back. In fact, as reported by Oz at the Simulator UG meeting on Tuesday, September 22nd, the issue was related to the accidental use expired server certificates coupled with some asset server issues, but no actual roll-back of simulator version took place.

SL Viewer

[0:28] There have been no updates to the current RC and project viewers during week #39. There has been a cautious optimism in the Lab that the Mesh Importer RC viewer, version 3.8.4.305119 might be promoted to the de facto release viewer in week #40 (commencing Monday, September 28th), although this may be subject to further possible delay as a result of BUG-10326.

[01:10] The project viewers currently available – Project Azumarill (HTTP updates), the Quick Graphics (Avatar Complexity / graphics presets) and Notifications viewer – are all currently with the Lab’s QA team and competing for RC releases. It is hoped that some or all should move to RC status in the next week or two. However, there is currently some doubt as to whether the issues reported in BUG-10330 affecting the Quick Graphics viewer have actually been fully fixed. A maintenance viewer is also likely to be appearing shortly, either as a project viewer or RC.

[02:35] It is anticipated that the HTTP and Quick Graphics viewers will initially have small RC test cohorts, and their deployment will be “cautious”.

[07:25] The HTTP code changes are liable to be a non-trivial merge for TPVs, particularly those which might be using code paths differently to how that official viewer uses them. As such, the Lab has produced a video explaining the HTTP changes, and the recommendation is for TPVs to watch the video and get a feel for both the changes and their context, prior to attempting any merges.

[03:05] There may be an update to the Oculus Rift project viewer (currently version 3.7.18.295296, dating back to October 2014) coming soon.

CEF Viewer

[03:18] The anticipated  Chromium Embedded Framework (CEF)  project viewer, featuring updates for media purposes, should also be appearing shortly. This had initially been tipped for a week #38 release, but is currently still awaiting QA clearance. Once available, it is liable to remain as a project viewer for an extended period to allow those with media products, etc., to both test it and update their items with HTML 5 support, as the viewer will not provide QuickTime support and will have Flash support disabled by default.

Inventory Updates

[10;00] and As I recently reported, the Lab will soon be issuing viewer-side updates to improve inventory handling. This work involves two lots of updates that will be made to the viewer. The first will remove all of the old UDP inventory messaging paths which have already been replaced by more robust mechanisms, which will then be followed by simulator-side removal of all support for these messaging paths. this work will then be followed by a two-part operation to refactor much of the inventory handling code in the viewer.

This work shares a lot of common ground with the HTTP project, as such, the first set of viewer changes are unlikely to appear until the HTTP updates within Project Azumarill have reached a viewer release candidate status. However, as this work progresses, it is liable to also require considerable care with code merges within TPVs.

Older Viewers and Code Changes

[11:10] The upcoming viewer-side HTTP changes are unlikely to have an impact on older versions of viewers currently in use. However, the inventory changes will, and are liable to “break” inventory operations on those versions of viewers that do not have the updated code. This will be particularly true with the removal of all UDP support for inventory in both the viewer and on the simulator side (which is liable to occur in early 2016).

[14:07] While there may be concern at the idea of older viewers being “broken” by the inventory changes, the Lab is keen to emphasise the work is being undertaken with the aim to improve the Second life experience, and make inventory operations more reliable than they perhaps have been.

SL project updates 37/2: TPV developer meeting and more

Sommergewitter; Inara Pey, September 2015, on FlickrSommergewitter September 2015 – blog post

The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, September 11th, 2015. A video of the meeting is included at the end of this report, with any time stamps in the following text referring to it. My thanks as always to North for the recording and providing it for embedding.

Server Deployments – Week 37

As always, please refer to the server deployment thread for additional information.

  • The Main (SLS) channel did not have any deployment / restart during the week, largely due to the fact the one deployment in week #36 was to a single channel (BlueSteel), which was rolled-back on Thursday, September 3rd
  • The three RC channels all received a new server maintenance project, comprising internal simulator fixes.

Upcoming LSL: llGetAttachedList()

The Week #38 (week commencing Monday, September 14th should have a new LSL function rolling to at least one RC channel.

llGetAttachedList() is a new function that will return a list of root keys of all visible attachments worn by an agent except for HUDs. Originally a feature request (see BUG-9683), which also lists a number of potential benefits of such a function. The wiki page for the function is still in preparation,but the function itself can be tested on the Aditi (beta grid) region of Tehama. Note that it will only work when invoked for a target within the same region. I’ll have more on this should the function make it into an RC deployment in the coming week.

SL Viewer Updates

Mesh Importer

[01:50] The Mesh importer viewer continues in RC status as the Lab continues to fix problems either found internally or by those making use of the RC viewer, although Oz notes the problems are gradually becoming less severe in nature. However, it’s still not quite ready to be promoted to the de facto viewer.

Notifications Viewer

[02:39] The notifications viewer has been getting a “lot of exercise” as a project viewer, and looks set to move to release candidate status in the near future.

Quick Graphics Viewer

[03:11] The Quick Graphics project viewer, which presents the new Avatar Complexity capability and the ability to save and re-load graphics settings more-or-less on the fly,  updated to version 3.8.4.304916 on Thursday, September 10th. There are still some further adjustments being made to the viewer, but it should progress to RC status some time in the next two weeks or so.

[46:13] One of the changes which may be made to the Avatar complexity aspect of the viewer is a further toning-down of the colour intensity of avatars rendered as “Jelly Babies”. Also, the values on the Complexity slider my be further adjusted to assist those with low-end systems.

[50:20] Some have expressed an opinion that having an “infinite” upper limit to Avatar Complexity is counter-productive, as it does little to discourage people from having complex avatars which can tax other systems. In reply to this, Oz Linden said:

I really want to emphasise this, and I hope people understand it. we’re not trying to create a standard for what is “good”. what we’re trying to do is inform people about what effect they’re having and to control the impact other people have on them,  and then let things sort themselves out.

[54:28] Also with reference to this viewer, the Advanced Graphics floater has been updated to a 2-column format in response to concerns that the earlier, large single-column floater could not be easily displayed on some laptops / lower resolution monitors.

They updated Advanced Graphics floater in the September 10th Quick Graphics project viewer, version 3.8.4.304916
The updated Advanced Graphics floater in the September 10th Quick Graphics project viewer, version 3.8.4.304916

I’ll be taking a further look at Avatar Complexity once the viewer reaches RC status.

Project Azumarill

[06:25] Project Azumarill is the name of the Lab’s new project viewer, version 3.8.4.304871, which offers a complete replacement of the under the hood HTTP infrastructure, and which impacts all aspects of the viewer using simulator capabilities.

This is essentially building on Monty Linden’s HTTP work, which was applied to the most critical paths within simulator / viewer communications, and sees Rider Linden apply the changes through the viewer, and so includes, but is not limited to the following:

  • Asset upload (Images, Meshes, Animations)
  • AISv3 inventory manipulation
  • Viewer Managed Marketplace
  • Simhost event polling
  • LSL script compilation
  • Experience management (blocking, allowing, creating).

Currently, the new code is sitting in the viewer alongside older code, although the latter will be removed prior to the viewer being promoted to the de facto release viewer. While a significant update, it is anticipated that the viewer will progress rapidly through the release process, as functionally, there isn’t that much which can be said to be new for people to play with. As such, it will hopefully go through a total of two project viewer iterations prior to becoming a release candidate, then move fairly quickly from RC to release.

Continue reading “SL project updates 37/2: TPV developer meeting and more”

Second Life projects update: 34/2: TPV Developer meeting

Strings
Strings, Cica Ghost – blog post

The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, August 21st, 2015. A video of the meeting is included at the end of this report, with any time stamps in the following text referring to it. My thanks as always to North for the recording and providing it for embedding.

Server Deployments – Recap

There was a single server maintenance package deployed during the week, which was delivered to the BlueSteel RC on Wednesday, August 19th. This was intended to provide fixes for  items and folders getting mixed up. however, this was subsequently rolled back on Thursday, August 20th.

Viewer Updates

Project Quick Graphics

On Friday, August 21st, the long-awaited Avatar Complexity / graphics presets viewer arrived in project viewer form. Version 3.8.4.304433 is being referred to as “Project Quick Graphics”. I provided an initial look at this viewer in pre-release, but I now have an updated overview available.

The viewer includes the means to create and save sets of graphics presets which can be quickly loaded according to need / circumstance to help maintain a viewer's performance
The Quick Graphics project viewer offers the means to create your own sets of graphics presets you can quickly swap between according to needs / circumstance. It also include the new Avatar Complexity capabilities – see my overview for more information

As noted in that report, the Avatar Complexity default you get is based on the rendering performance of your system. however, this might be adjusted by the Lab during the time the viewer is available at a project status.

Other Viewers

[02:00] An update to the Oculus Rift viewer is still anticipated, although this has tended to be pre-empted by other things, and may be again.

There have been no other viewer updates since the promotion of the Maintenance viewer on Tuesday, August 18th, as reported in part 1 of this update.

[23:35] The will, at some point be an experimental viewer build, which should lead to a project viewer in the future, using the FMod Studio for audio.

HTTP Work

[08;00] Rider Linden has been engaged in further HTTP work, specifically aimed at the viewer with the intent of reducing the paradigms for how HTTP should be used within the viewer from 4 to a single, consistent approach. He has most recently been engaged in aligning recent HTTP updates made to the viewer with his own work.

[19:36] The Lab is still looking for move more asset types from delivery using UDP via the simulator to delivery using HTTP via the CDN, but this is pending the completion of Rider’s HTTP work. Overall, the view is that there is no reason why any asset that goes to the viewer should be cached and delivered via the CDN.

Inventory Improvements

[10:48] The lab is continuing to investigate causes of inventory issues with the intention of reducing them. In particular, they are considering server-side enforcement  on how inventory should be organised.

The idea is not to prevent how people organise their inventories, but rather to ensure things that simply should not happen under normal use, but which have been shown to lead to inventory losses when they do occur, are no longer possible. Examples of this include a user’s inventory gaining more than one Trash folder, or the system allowing folders to be created without an associated system ID, and so on. The most effective way of achieving this is through server-side rules enforcement.

While the Lab is not ready to start implementing such changes as yet – they are still investigating, as noted – these changes are part of an overall goal to migrate all inventory operations over to AIS (Advanced Inventory System) and then to deprecate older inventory code – all of which will involve changes to the viewer. This means that as this work progresses, viewers not supporting the AIS v3 code will no longer be able to perform inventory operations.

Server-side Validation

[16:40] Commenting on issue of validation of uploads in general, Oz Linden said:

I would like to add validation for more things that get uploaded [but] of course there’s always the backward compatibility problem, people complaining that once upon a time I could upload this, and now I can’t…

However, he went on to say that there is a case for not limiting validation of uploads purely to the viewer, as is currently the case:

There’s nothing wrong with also checking in the viewer, but if it’s not the model we expect to be true of the world, there should be validation on the server because we have a lot of third-party viewers … So we really can’t count on the viewer to get it right, there are too many of them. And if nothing else, some things that can cause crashes that might be deliberately put into viewers … that might cause crashes in other people’s’ viewers, and that’s not good. So we have to try to protect against that.

The best place to put that protection, if we can do it, is to put it one the server-side, if we can do it. So there are lots of things that, over time, we may add checking of things, as they are uploaded, on the server, and we may reject uploaded things, and we may reject uploaded things that are inappropriate.

How quickly we will be able to do that will probably vary with what the upload type is and what time we have between doing dazzling new features; but if we find something related to some dazzling new feature we can add some checks to, we might do that.

Continue reading “Second Life projects update: 34/2: TPV Developer meeting”