Wolvic 1.5 Released
Hello, and welcome to Wolvic 1.5! This is a big update, albeit mostly behind the scenes, and so we have a fair bit to share with you.
Up front, we’ve made a number of user interface (UI) improvements, such as the new hand models we show on all hand-tracking devices. These looks a fair bit like actual hands, which is useful when trying to manipulate virtual objects.
The second major UI improvement is the Find in Page feature, which works like it does in 2D browsers: you input a bit of text and Wolvic will highlight all occurrences of it in the page. You use arrow buttons to jump from one occurrence to the next (or to the previous) which can be very useful for finding specific bits of text in long pages like Wikipedia articles.
Third but by no means last, we’ve added a brand new date and time pickers, which are designed to be easily usable in virtual environments.
There are many other UI improvements, like better updates of the Wifi icon when connectivity changes, and updated translations of our Chinese and Korean interface translations. We’ve enabled YouTube captions, landed a fix for white flashes when frames are dropped, and you can open a new page in Wolvic from external programs without interrupting in-progress video playback. There’s also a new link to our funding collective — many thanks to all who support our continued development!
The biggest changes are really behind the scenes, though. We upgraded both the Gecko and Android Components versions to 116, much more recent (and thus feature-rich) than previous versions. Along with that, a great deal of work went into upgrading or removing deprecated API calls in favor of more modern APIs. This has greatly increased the health of our codebase, and keeps users as up to date as possible with new web capabilities.
We hope you enjoy using Wolvic 1.5! As usual, this has been a high-level overview, so there are more changes and fixes listed in the notes below. If you’ve found a new problem or have another issue, please send us your feedback (which will now open in a new tab or window!) or, if you prefer, file an issue on GitHub.
Highlights
- Upgraded Gecko to v116
- Upgraded Android Components to v116
- Removed white flashes appearing with low FPS
- Massive modernization of codebase including a large upgrade of deprecated APIs
- New DateTime picker dialog
- Find in page
- Hands rendering with
XR_MSFT_hand_tracking_mesh
where available - New flavour for generic AOSP devices
Details
Gecko
- Upgraded to Gecko 116.0.3 (from 103)
Web Browsing
- Removed white flashes with discarded frames
- Implemented DateTime picker dialog
- Pass only valid URIs to
loadURI
- Enable blob:// downloads
- Enable local file navigation (file://)
UI
- Reenabled automatic projection selection for YouTube VR videos
- Properly update the WiFi icon after connectivity changes
- Open feedback form in a new tab/window
- Open URLs from Intents in another tab/window
- Added support to Find in Page
- Fixed 3D side by side video playback on curved mode
- Updated translations: Chinese, Korean
- Fixed disable auto-complete setting
- Automatically select search engine based on region if not set
OpenXR
- Added support for
XR_EXTX_overlay
allowing Wolvic to be composited with other OpenXR apps - Properly map controller primary action with hand tracking
- Added support to render the hand mesh using
XR_MSFT_hand_tracking_mesh
extension - Refactored OpenXR hand mesh rendering with a strategy pattern
Media
- Added support for YouTube captions
- Fixed AppleTV playback
Stability
- Fixed a crash in HTML select element
- Fixed restart of Wolvic after changes in settings
- Fixed a crash when WiFi signal strength cannot be retrieved
Code health
- Upgraded Mozilla Android Components from v75 to v116
- Migrated from browser-search component to feature-search
- Modernized code to detect WiFi status changes
- Migrated
SearchEngineWrapper
to Kotlin - Modernize deprecated AsyncTask
- Modernize deprecated
dispatchConfigurationChanged()
- Modernize deprecated
OnSystemUiVisibilityChangeListener
- Removed API<24 codepaths
- Migrate code to the new zip4j version
- Modernize deprecated
setSystemUiVisibility()
and related flags - Fix deprecated methods in API 33
- Fix deprecated Fragment and
FragmentTransaction
- Use androidx’s
PreferenceManager
- Remove deprecated
cookieLifetime
- Fixed several deprecations and add comments for deprecation
- Fixed deprecated
android.preference.PreferenceManager
- Fixed Kotlin build warnings
- Set
PackagingOptions.jniLibs.useLegacyPackaging = true
Infra
- Added OpenCollective funding link to github
- Removed WaveVR build dependency for non-WaveVR flavours
- Added support for CMake >=3.10.2+
- Disable fail-fast in CI
- Setup github’s dependabot
- Added machinery to create Huawei and Pico packages for mainland China
Chromium backend
- Implemented incognito mode
- Set WebGL MSAA level on startup
- Added Downloads support via
DownloadManagerDelegate
- Mute tabs when inactive
- Fix aim pose on WebXR
- Use Wolvic’s User Agent
Pico
- Allow Wolvic to read from Downloads folder
- Fixed hand tracking support for PicoOS >= 5.7.1
- Do not go back when clicking on “take screenshot” button
MagicLeap2
- Added controller support
AOSP
- New flavour for generic AOSP devices (supporting both arm64 and x64)
SnapdragonSpaces
- Do not enable passthrough by default on the VRX (only in the Lenovo A3)