SL projects updates week 15/3: TPV developer meeting: webkit, Cocoa, Oculus

A TPV developer meeting took place on Friday April 11th. The core items discussed in the meeting are reported below, with timestamps in the relevant paragraphs indicating the point at they are discussed in the video embedded here. My thanks as always to North for the latter.

Release Candidate Viewers Status

[00:34] The VoiceMO RC (version combines the former SL Voice RC ( and the former Merchant Outbox RC (, both of which have now been withdrawn from the release channel. Both of these RCs were performing well, and it is hoped that by combining them, they’ll both have an accelerated path through to formal release status.

The Lab is keen to see the Vivox updates for voice gain wider traction in viewers, as these not only improve people’s voice experience, they also lighten the load on the back-end servers.

The Interest List RC updated to version and the Sunshine / AIS v3 RC updated to, both dated April 10th, and appearing on the wiki page on April 11th.

These, together with the Maintenance RC (version, released on Wednesday April 9th, are now the four remaining release candidate viewers in the release channel. As these are all recent updates, data is still being gathered on all four, so it is unlikely that any of them will be promoted to the de facto release viewer in week 16 (week commencing Monday April 14th).

Google Breakpad Reporting and Issue

[01:40] The Google Breakpad changes mean that all viewers with the updated Breakpad code have the marker files for crash reporting created much sooner in the initialisation process and deleted much later in the viewer shutdown process. This means that more crash stats are being collected, but it also means that the crash rate measurement has gone up slightly as a result.

[03;30] Whirly Fizzle has identified an issue occurring with both the Maintenance RC and the current viewer release ( which appears to be linked to the Google Breakpad updates. BUG5707, “While logged in, crash reporter pops up, sends in a crash report but the viewer does not crash”. Whirly describes the issue in part as:

The crash reporter window does not just sometimes flash up briefly at viewer launch or viewer close, the crash reporter stays on-screen and appears to be actually sending in crash reports – I see the “Sending to server…..” window, which stays onscreen for some time.
Often I have more than one “Sending to server….” window open – often as many as 3 of them will all open at the same time.

This is happening on viewer launch, on viewer close and even while logged in.
When it occurs while logged in, the viewer does not crash, I am still logged in and the viewer appears functional.

Commenting on the situation, Oz Linden said, “Yeah, we’ve got people looking at some of the Google Breakpad crash reporting issues … I’m not really sure what that’s about … we’ll see if that can get some refinement.”

Oculus Rift

An update to the Oculus Rift project viewer, currently on closed beta, is expected in the next week. The lab is still accepting applications from those who have the hardware to join the closed beta the requirement being that applicants actually have the Oculus hardware. Applications should be addressed to

Further updates to this viewer are expected, particularly once the Lab received the SDK2 headsets, although these are not anticipated to be arriving for another couple of months. The viewer most likely won’t be opened-up publicly until after these latter updates have been made, so TPVs will not be able to integrate the code for some time to come.

SL Share

[05:26] Merov Linden was on-hand to talk about the recent changes to the SL Share capability in the SL viewer – notably the updates which allow people to post pictures to Flickr, post text and images to Twitter and once again post images to Facebook. It is likely that this viewer will be progressing to release candidate status in week 16.

As I’ve previously noted, an important thing to remember about SL Share is the all of the capabilities are opt-in. No-one is forced to use them, and the Facebook option in particular has nothing to do with trying to “push” SL users to Facebook, and while Facebook may not allow people to have accounts in their avatar names, there are a lot of people who are happy using it to connect their SL account with their real life account on Facebook.

One issue that did cause a problem was the inclusion of SLurls with photos being uploaded to Facebook, which caused the image upload capability to be blocked by Facebook. The SL Share updates have removed the “include location” option in the photo upload tab of the Facebook floater, and as a result, Facebook have removed the block once more.

The SL Share photo upload panel as it was prior to the change (l) and as it appears in the SL Share project viewer and some RC viewers since the change
The SL Share photo upload panel as it was prior to the change (l) and as it appears in the SL Share project viewer and some RC viewers since the change (r)

The issue here was not so much that SLurls were being included in uploaded photos, but the fact that they were being added automatically as a part of the automated processing of snaps during the upload process. Apparently, a requirement in using the Facebook API is that all text uploaded or appended to images must be manually entered by the user …

As well as restoring the upload capability, Facebook also restored photos with SLurl include which had been uploaded prior to the block coming into effect, again apparently because of the SLurls being automatically added.

One of the most interesting parts of the new capabilities is that of the preset filters within the upload panels for Facebook, Twitter and Flickr, and the ability for people to create their own filters.

When SL Share 2 appeared, questions were asked on various blogs on whether the filter capabilities would be added to the viewer’s snapshot floater, so that they could be used with the snapshot options there – most notably with the profile feeds option.

A preview example of a snapshot using one of the SL Share built-in filters
A preview example of a snapshot using one of the SL Share built-in filters

I took the opportunity at the TPV developer meeting to ask, and Oz Linden replied:

The SL Share project doesn’t include putting the filters in to the snapshot floater, but Niran [NiranV Dean, creator of the Black Dragon viewer] is working on that. So we may get that as another open-source contribution.

Merov then added:

It’s not overly difficult to do that. Actually, I did it for a demo once, so it’s pretty easy to add. I didn’t do it because the snapshot UI on the official viewer has plenty of … how can I put this nicely? …. Oddities, let’s say … so if I really wanted to do it, I’d have to re-do everything …. so I went to the designers and said, “You know, we should really re-do all this,” and they said, “Yes, but not now.” so I’m not working on that just now. but yes, it’s possible … so if you want to put it into your own snapshot floater, I won’t be offended!”

One of the aspects of the SL Share 2 capability that didn’t get to be in this initial update is a filter editor capability such that the filters can be more easily combined to create custom filters. Oz invited any TPV developers who might like to take this on to do so and to consider contributing it back the Lab should they do so.

The authentication aspect of the SL Share capabilities is all handled by the Lab’s back-end to the capability, so that the viewer-side code can be taken by TPVs and amended without any risk of users’ private information being leaked or tracked.

Webkit Woes

Monty Linden
Monty Linden

[15:48] Webkit is a third-party library used within the viewer for a number of tasks. For example,  it powers the built-in web browser, and is used to display profiles (unless you’re using a viewer supporting legacy profiles). It is also used with like Media on a Prim (MOAP) and many in-world televisions.

There have been an increasing number of issues with webkit. The libraries used within SL are out-of-date, for example, something which has caused the Lab and TPVs a considerable amount of pain (see BUG-4763 and FIRE-12642, and FIRE-11057).

Monty Linden has been poking at the problems, and gave a further update on his work:

I’m doing a bunch of damage, and then trying to move forward, just to get to 4.7.4 first, and then the 4.8 a little bit later on. I’m just about at the end of that … my goal is to kill the current third-party lqtwebkit library repo and I’ve created a new one that’s a little healthier and working a little bit better.

It’s not clear at the moment when Monty’s work will appear in a release stream. A further problem here is that the qtwebkit (on which lqtwebkit is based) has been deprecated by QT, so the Lab is faced with a decision s to what to do going forward. One option may be to go with CEF, but which direction the Lab will take has yet to be decided.

The Firestorm team have reported they have re-worked webkit for themselves, updating to version 5..2.1 for Windows and are looking to do the same for Linux and Mac. This work appears to have fixed issues with Media on a Prim and it is hoped it may also resolved the YouTube issue of videos failing to play on in-world TVs, etc.

Firestorm are going to liaise with Monty with regards to the work they’ve done. currently, the Windows updates are still subject to internal testing by Firestorm, although they plan to make the work visible to all once they are confident enough that it behaves as expected.

Mac / Cocoa Update

[22:45] There has been some progress in addressing the Mac / Cocoa issues, with some fixes now in the Maintenance RC release, including:

  • MAINT-3135 Cocoa Viewer: Mac: Maximizing the viewer leaves garbage on the screen
  • MAINT-3288 Mac: Fullscreen mode issue in Viewer 3.6.7 (281793)
  • MAINT-3642 Mac viewer can no longer export textures to TGA format
  • MAINT-3674 Mac: “Hide NewApplication” under Second Life menu, should be “Hide Second Life”

Referring to Cocoa issues in particular, Oz again confirmed that “all of them” are on the Lab’s to-do list, but not all of them are getting done as yet. In particular, there is no news on the long-standing ALT-cam bug.

Other Items

We’re all aware that there are options within the viewer to run more than one instance (so if your computer doesn’t grind to a halt, you can run two versions of the official viewer or two versions of Firestorm, etc). However, what some people may not be aware of is the fact that while the viewer can allow multiple instances, this is not actually a supported feature. It should also be remembered that because of the way voice is handled, it is currently not always possible to run two instances of a viewer (or two different viewers at the same time) with voice enabled without encountering significant issues and potential lock-ups (although Singularity has a fix for this).

What also may not be realised is that because some of the viewers use different mechanisms to detect how many instances they are running, it is possible to encounter conflicts and issues when running, for example, the SL viewer and the Firestorm viewer simultaneously on a computer.

So if you are running multiple instances of the same viewer or multiple viewers on the same computer, and start experiencing unexpected issues, try shutting all but one instance / viewer down and seeing if the problems go away before seeking support assistance.