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”

Project Bento: avatar skeleton enhancements for Second Life

On Wednesday, December 16th Linden Lab officially announced Project Bento which brings a range of avatar skeleton enhancements to Second Life.

The project has been in progress for the last several months, with the Lab working in collaboration with a number of noted Second Life content creators who specialise in avatar shapes, bodies, and animations. I’ve been fortunate enough to be very peripherally involved in the project myself, with the aim of documenting some of the process involved – and I’ll be providing more on that in an upcoming article.

The blog post announcing Project Bento explains the reason and focus of the work thus:

We know how much work, value, personalization and emotional investment goes into a Second Life avatar, so we have always been careful when considering avatar changes. While we want to make improvements, we also want to maximize backward compatibility. Get ready for the biggest thing that’s happened to avatars in years …

Ever wish you could incorporate a tail, wings, or second set of arms into your avatar? How about having animations for facial expressions and finger movements? Yes, we know that there are some incredibly creative workarounds that give you some of these, but they can’t leverage skeletal animation, so they have been very complex, often fragile, and very expensive in performance and resources both in your Viewer and the Simulator.

We are introducing extensions to the standard Second Life Avatar Skeleton that give you dozens of new bones to support both rigging and animation, and accompanying new attachment points! This extended skeleton, which is fully backward compatible with existing avatars, rigging and animation, gives creators the power to build more sophisticated avatars than ever before.

Project Bento has involved staff from Linden Lab, notably Troy Linden, Oz Linden and Vir Linden, together with assistance from Alexa Linden, Simon Linden, Rider Linden, Aura Linden and others. It has also involved SL content creators including the folk from Avastar, Cathy Foil, Toady Nakamura, Siddean Munro and Flea Bussy
Project Bento has involved staff from Linden Lab, notably Troy Linden, Oz Linden and Vir Linden, together with assistance from Alexa Linden, Simon Linden, Rider Linden, Aura Linden and others. It has also involved SL content creators including (but not limited to)  the folk from Avastar, Cathy Foil, Toady Nakamura, Siddean Munro, Tyr Rozenblum, and Flea Bussy

In particular, Bento sees the introduction of the following Skeleton extensions:

  • 11 extra limb bones for wings, additional arms, or extra legs.
  • 6 tail bones
  • 30 bones in the hands (all 10 fingers!)
  • 30 bones for facial expressions
  • 2 other new bones in the head for animating ears or antennae
  • 13 new attachment points associated with the new bones

The changes involve both simulator updates and changes to the viewer. The former have already been deployed to the grid, being the “secret” update made in week #48, alongside the need validation enforcements for attachment point IDs and to prevent the upload of animations and meshes weighted to invalid attachment points; however, they are not yet active.

To mark Project Bento, Alexa Linden has updated her Linden Bear, now available on the Marketplace
To mark Project Bento, Alexa Linden has updated her Linden Bear, now available on the Marketplace

This is because the Bento work is still in project status – the announcement is intended to inform people about the work and seek feedback from more creators / animators. This can be given via the Project Bento forum thread, with specific bugs bugs or issues reported by the Project Bento JIRA class.

To try out the new skeleton updates, you will need the  Bento project viewer (which sees the viewer iterate to version 5.0), and because the project is still a work in progress, you’ll need to upload any content using the new skeleton extensions to the Aditi (beta) grid – most regions on Aditi should allow this, although some may be in use for other testing and not yet have these updates. Additional documentation is also available, together with notes on testing.

Commenting on the launch of the project, Oz Linden had this to say (from 37,000 ft whilst flying across America!), in recognition of the extensive input made to the project by content creators, which has included modelling and testing the skeletal changes, advising on viewer updates, putting forwards ideas for possible future extensions to the project, and a whole lot more.

Thank you Thank you Thank you .. we could not have done it without you

Draxtor Despres and I will be covering more of the background story on Project Bento in the near future, including a Drax Files World Makers special on the project in January.  Keep your eyes peeled!

With thanks to Matrice Laville and Gaia Clary for the video.

 

SL project updates 51/1: server, misc items

Kaleidoscope; Inara Pey, December 2015, on FlickrKaleidoscope (Flickr) – blog post

Server Deployments

As usual, please refer to the server deployment thread for the latest updates / news.

  • On Tuesday, December 15th, the Main (SLS) channel received the server maintenance package previously deployed to all three RC channels. This package comprises simulator crash fixes (including one for the issue found during the original final testing of the package in week #49) and implements feature request  BUG-10192: adding constant OBJECT_OMEGA to llGetObjectDetails(), so that it can return a vector matching what is returned with llGetOmega(), allowing applications to determine an object’s rate and axis of rotation.
  • On Wednesday, December 16th the three RC channels should all receive the same new server maintenance package, comprising:
    • A simulator crash fix and internal fixes
    • LSL HTTP requests can access data sources that require non-text Accept headers (such as the Destination Guide)
    • Some of the group member counts as reported in the viewer will now be larger. These member counts will include inactive users, and will only updated on a daily basis. This change is to help with some of the problems we have encountered recently with group functions.

This last item is intended to help with the group database issues I reported on in my last project updates report.

SL Server

There have been no updates within the viewer release channel, leaving things as they were in the latter half of week #50:

  • Release viewer: 3.8.6.305981, dated October 26 and formally the Notifications RC viewer
  • Valhalla RC viewer, version 4.0.0.308641 and dated December 7th, comprising the Chromium embedded Framework updates to replace LLQTwebit
  • Maintenance RC viewer, version 3.8.7.308556 and dated December 3rd, comprising over 30 fixes, updates and enhancements
  • Azumarill RC viewer, version 3.8.7.308134 and dated November 25th. comprising a complete replacement of the under the hood HTTP infrastructure within the viewer
  • Vivox RC viewer, version 3.8.7.307744 and dated November 17th, comprising a number of Voice quality and connection issues on both Windows and the Mac
  • Quick Graphics RC viewer, version 3.8.7.306758 and dated November 12th, containing the new Avatar complexity code and the ability to create, save and load graphics presets – see here for more.

Similarly, the Oculus Rift project viewer remains unchanged, and the obsolete platforms viewer remains available.

As there has not been any TPV Developer meeting in the last three weeks, it is hard to determine the overall status of these viewers, or what (if any) the delay is in promoting one of those which had looked set to become the de facto release viewer (the Maintenance viewer looked most likely, following recent issues with the HTTP RC viewer).

Animation Syncing

BUG-7729 is the latest iteration in a long-standing request related to syncing animations, the idea to be to present a consistent view of animations, rather than having animations (e.g. couples dances, etc), either start out of sync or drift out of sync. Commenting on the idea at the Simulator User Group meeting on Tuesday, December 15th, Simon Linden said:

[It’s] part of a list of script feature requests we’ve looked at and said “that’s a good idea and would be nice to do someday”, and it probably involves a new message between the server and viewer. But I totally agree that it would be nice … I’ve seen way too many funky animations glitches due to them being out of sync.

There is certain information that the viewer has which should allow it to more easily track animations and help to maintain sync being avatars using them; however, things get complicated when the user is camming around, which can cause Interest list updates to come into play, or the arrival / departure of other avatars can have an impact, all of which can cause animations to drift out of sync.

One of the concerns with BUG-7729 is that it could evolve into a fairly major project, involving both server and viewer updates and the potential need for new messages, as Simon notes above, hence why he stated on leading-in to the discussion:

When we pick what to work on, the obvious high priority things are stuff where the grid is breaking (like the group db problems) or crashes or exploits, then it’s a matter of figuring out the best thing for a limited effort .. some projects are just too big.

As such, it would seem that a more economic solution in terms of scale possibly using what information the viewer already has, or what it might do, might be a preferable approach.

Firestorm, for example, already has a Resync Animations button, which can be a one-stop means for someone to resync the animations in their personal view should they show signs of drifting. The suggestion is that something like this, or a simple timed adjustment to sync animations might stand a better chance of implementation, were it to be contributed to the Lab for implementation into the viewer.

SL project updates 50/1: Server, viewer, issues

Frisland; Inara Pey, December 2015, on FlickrFrisland (Flickr) – blog post

Server Deployments

There was no Main (SLS) channel deployment on Tuesday, December 8th, following after the update planned for release in week #49 had to be cancelled when a simulator crash bug was uncovered.

On Wednesday, December 9th, all three RC channels should receive the same new server maintenance package, which comprises simulator crash fixes (including one for the issue found during the original final testing of the package in week #49) and implements feature request  BUG-10192: adding constant OBJECT_OMEGA to llGetObjectDetails(), so that it can return a vector matching what is returned with llGetOmega(), allowing applications to determine an object’s rate and axis of rotation.

Viewer Updates

On Monday, December 7th, the Valhalla RC viewer, which comprises the Chromium embedded Framework implementation intended to replace LLQTwebkit for handling media in Second Life, was updated to version 4.0.0.308641. This update includes 13 additional fixes when compared to the previous Valhalla RC version:

  • MAINT-5846 – MOAP audio is too quiet
  • MAINT-5849 – MOAP does not run if parcel media texture is on same face
  • MAINT-5852 – Parcel media url can be hijacked from parcel to parcel
  • MAINT-5854 – Loading http://secondlife.com on parcel media does not login
  • MAINT-5855 – media navigation bars overlap all floaters in viewer
  • MAINT-5856 – toolbar search can be interrupted early get stuck on blank page
  • MAINT-5859 – Terms of Service are not loading in Linux only
  • MAINT-5896 – Add support for viewing PDF files in the viewer
  • MAINT-5901 – Click-to-Walk should work through transparent objects
  • MAINT-5902 – Qihoo 360 Anti-virus blocks SLPlugin.exe and login page web content
  • MAINT-5909 – Japanese can’t be input in CEF
  • MAINT-5911 – Pressing “return” (or “enter”) no longer performs a search
  • MAINT-5941 – Default flash to on by default.

Other Items

Interest List and “Ghost” Prims

there have been reports at the last couple of Simulator User Group meetings about “ghost prim” – objects which have been deleted / killed via llDie, continuing to render viewer-side, even though they have been removed by the simulator, requiring a right-click to remove them from the viewer’s outlook on the world.

Problems like this aren’t new, and many have encountered them, particularly since the core of the changes made to the Interest List. However, positively identifying what is going wrong where in the code, and why it is going wrong has been proving difficult, as the has not been a consistent means of reproducing the problem. However, it now appears that just such a consistent means of encountering the issue has been found, and a JIRA raised. Hopefully, this means that the Lab will be able to dig a little deeper into things and at least rectify the problem for some of the situations where “ghost prims” can be encountered.

Join / Leave Group Failures

There have been significant issues with people attempting to join or leave groups recently – see BUG-10869. The problems are apparently caused by a back-end database overload within the group services,

There are many issues in handling large groups which can be problematic: number of members, number of inactive users, impact of changes to things like established group roles (and the numbers of group members they affect), and so on. These are all largely down to the way the back-end group services were originally designed, something which is not the easiest of issues to overcome, as Simon Linden explained at the at the Simulator User Group meeting on Tuesday, December 8th:

It’s a long story, actually, but comes down to scaling issues and design. It doesn’t make sense that we basically treat a group with 100k people in it the same as 10 people . There are some things that just take more time with a large group.

However, Simon is looking into the problems, as he did with the issues of group chat earlier in the year, which so that side of things dramatically improved, but there is currently no ETA on when any fix / fixes might be issued.

No Change Window

Subject to official confirmation by the Lab, week #51 (week commencing Monday, December 14th) is liable to mark the last week in which simulator and viewer releases will be made ahead of the Christmas / New Year “no change window” coming into force, which will probably remain in place until approximately the week commencing Monday, January 4th, 2016.

The no change window is intended to ensure the grid and viewer are both relatively stable, so that the Lab can offer support, engineering and operations staff time off over the holiday period to be with their families and friends.

SL Project updates week 49

Everlong; Inara Pey, November 2015, on FlickrEverlong (Flickr) – blog post

The technical news is very light for week #49, hence my lack of updates as the week progressed.

There were no simulator deployments during the week. A new server maintenance package had been planned for deployment to the three RC channels, but this suffered a last-minute postponement do to a simulator crash situation being discovered if a simulator spins-up with a specific debug mode enabled.

As a result of this cancellation, there is unlikely to be a Main (SLS) channel roll in week 50, although the RC update should see deployment. After that, with the Christmas / New Year no change window rising over the horizon, further simulator updates are liable to be conspicuous in their absence until early 2016.

The viewer has been similarly quiet during the week, with only the Maintenance RC being updated, with version 3.8.7.308556 being released on December 3rd. There was (again) no RC promotion to release status for any viewer, thus leaving the usual suspects in the viewer release channel:

  • Maintenance RC viewer, version 3.8.7.308556, dated December 3rd, as noted above. Some 38 fixes and improvements, including updates for some regressions introduced into the viewer with the current release viewer
  • Project Azumarill (HTTP updates) RC viewer, version 3.8.7.308134, dated November 25th, which provides  a complete replacement of the under the hood HTTP infrastructure within the viewer
  • Project Valhalla (CEF media update) RC viewer, version 4.0.0.307894 dated November 18th, which replaces the LLQTWebKit functionality used in the Web media plugin with one based on the Chromium Embedded Framework (CEF)
  • Vivox RC viewer, version 3.8.7.307744, dated November 17th, which corrects a number of Voice quality and connection issues on both Windows and Mac
  • Quick Graphics RC viewer, version 3.8.7.306758, dated November 12th, which provides the new Avatar Complexity options and graphics preset capabilities for setting, saving and restoring graphic settings for use in difference environments / circumstances.

The two potential candidates for promotion to release status would seem to be either the HTTP RC viewer or the Maintenance viewer. However, the former’s promotion would appear to be dependent upon whether the remaining niggles have been ironed out to the Lab’s satisfaction, and the later on whether the most recent RC update gathers sufficient stats to indicate whether it is ripe for promotion.

There were assorted reports of issues with teleports, etc., through the first part of the week, and during the Server Beta User Group meeting, the question was asked by Caleb Linden if people had noticed an increased rate of teleport issues / failures, suggesting the Lab may have noticed something going awry.

Other than that, a light news week, as mentioned.

SL project updates: week #48/1: server, viewer

Voile; Inara Pey, November 2015, on Flickr Voile (Flickr)blog post

Server Deployments Week #48

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

  • On Tuesday, November 24th, the Main (SLS) channel was updated with the server maintenance package previously deployed to the three RC channels. This comprises the updates code for server-side attachment and upload validations (see below). The release also includes new code for a new upcoming SL feature to be revealed soon.
  • There is no RC channel deployment planned for the week, due the the US Thanksgiving weekend no change window.

Server-side Validation Enforcement

A new server maintenance package had been due for deployment on Wednesday, November 11th. This packed includes simulator-side enforcement checks against attachment point IDs (attachments using invalid attachment point ID will be moved to the chest attach point), and validation checks against animation and mesh to prevent the upload of animations and meshes weighted to invalid attachment points.

Baking Service Update

Speaking at the Simulator User Group meeting on Tuesday, November 24th, Oz Linden indicated an update to the avatar baking service (server-side appearance) has been made. This is aimed at dealing with a number of issues with the service (unfortunately Oz didn’t have a list of issues to hand).

SL Viewer Updates

After mysteriously vanishing from the viewer release channel, the HTTP project viewer (Project Azumarill) reappeared on Tuesday, November 17th, still with the same version number (3.8.7.306796, dated November 2nd) as previously. This may have been a error, and the viewer has once again been removed from the viewer release channel.

Friday, November 20th saw the current Maintenance viewer updated to version 3.8.7.308081. This viewer brings with it some 38 fixes and improvements, including updates for some regressions introduced into the viewer with the current release viewer (version 3.8.6.305981).

Note: this week is a relatively light week for technical updates from the Lab due to it being Thanksgiving week in the US, which is always marked by a no change window, as noted in the report, to allow Lab staff to enjoy a long weekend at the end of the week.