A fast and secure browser for standalone virtual-reality and augmented-reality headsets.

Related tags

Spring Boot wolvic
Overview

Wolvic VR Browser

The goal of the Wolvic project is to create a full-featured browser exclusively for standalone AR and VR headsets.

You can find us in wolvic.com, Twitter @wolvicxr, and at [email protected].

Locale support

Wolvic supports Chinese (China), Chinese (Taiwan), English, French, German, Italian, Japanese, Russian, and Spanish for user interface, voice search, and text entry. Localization is provided by Mozilla's amazing community of volunteer localizers.

For more info on localization, how it works in the Firefox Reality project, and how to correctly edit localizable text in the application, please see the localization wiki page.

Setup instructions

Clone Wolvic.

git clone [email protected]:wolvic/wolvic.git
cd wolvic

Clone the third-party repo.

If you're developing for the Oculus, Huawei, Pico, or VIVE, you need to clone the repo with third-party SDK files.

git clone https://github.com/Igalia/wolvic-third-parties.git third_party

This repo is only available to Igalia members. If you have access to the relevant SDK but not this repo, you can manually place them here:

  • third_party/ovr_mobile/ for Oculus (should contain a VrApi folder)
  • third_party/OVRPlatformSDK/ for Oculus (should contain a Android and include folders)
  • third_party/hvr/ for Huawei (should contain arm64-v8a, armeabi-v7a and include folders)
  • third_party/wavesdk/ for Vive (should contain a build folder, among other things)

The repo in third_party can be updated like so:

pushd third_party && git fetch && git checkout main && git rebase origin/main && popd

Fetch Git submodules.

You may need to set up two-factor authentication for the command line.

git submodule update --init --recursive

You can build for different devices:

  • oculusvr: Oculus Quest
  • hvr: Huawei VR Glasses
  • wavevr: VIVE Focus
  • picovr: Pico Neo

For testing on a non-VR device:

  • noapi: Runs on standard Android phones without a headset

Building for Oculus Mobile, Huawei and WaveVR requires access to their respective SDKs which are not included in this repo.

The command line version of gradlew requires JDK 8 from Oracle. If you see an error that Gradle doesn't understand your Java version, check which version of you're using by running java -showversion or java -version. You're probably using JDK 9 or 10, which won't work.

Open the project with Android Studio then build and run it. Depending on what you already have installed in Android Studio, the build may fail and then may prompt you to install dependencies. Just keep doing as it suggests. To select the device to build for, go to Tool Windows > Build Variants and select a build variant corresponding to your device.

If you want to build Wolvic for WaveVR SDK:

Download the VIVE Wave SDK from the VIVE Developer Resources, and unzip it. Then, from the top-level project directory, run:

mkdir -p third_party/wavesdk
cp /path/to/the/sdk/2.0.32/SDK/libs/wvr_client.aar third_party/wavesdk
cp ./extra/wavesdk/build.gradle ./third_party/wavesdk

Make certain to set the build flavor to wavevrDebug in Android Studio before building the project.

Local Development

Dependency substitutions

You might be interested in building this project against local versions of some of the dependencies. This could be done either by using a local maven repository (quite cumbersome), or via Gradle's dependency substitutions (not at all cumbersome!).

Currently, the substitution flow is streamlined for some of the core dependencies via configuration flags in local.properties. You can build against a local checkout of the following dependencies by specifying their local paths:

  • GeckoView, specifying its path via dependencySubstitutions.geckoviewTopsrcdir=/path/to/mozilla-central (and, optionally, dependencySubstitutions.geckoviewTopobjdir=/path/to/topobjdir). See Bug 1533465.
    • This assumes that you have built, packaged, and published your local GeckoView -- but don't worry, the dependency substitution script has the latest instructions for doing that.

Do not forget to run a Gradle sync in Android Studio after changing local.properties. If you specified any substitutions, they will be reflected in the modules list, and you'll be able to modify them from a single Android Studio window.

Install dev and production builds on device simultaneously

You can enable a dev applicationID sufix to install both dev and production builds simultaneously. You just need to add this property to your user.properties file:

simultaneousDevProduction=true

Locally generate Android release builds

Local release builds can be useful to measure performance or debug issues only happening in release builds. Insead of dealing with release keys you can make the testing easier just adding this property to your user.properties file:

useDebugSigningOnRelease=true

Note: the release APKs generated with a debug keystore can't be used for production.

Compress assets

ETC2 compression is used to improve performance and memory usage. Raw assets are placed in the uncompressed_assets folder. You can generate the compressed textures using the compressor utility in tools/compressor. You need to set up etc2comp and make it available on your PATH before running the script. Run this command to generate the compressed assets:

cd tools/compressor
npm install
npm run compress

Enable OpenXR builds

You can enable OpenXR API for Oculus by adding this property to your user.properties file:

openxr=true

Development troubleshooting

Device supports , but APK only supports armeabi-v7a[...]

Enable USB Remote Debugging on the device.

Firefox > Web Developer > WebIDE > Performance gets stuck with greyed out "stop and show profile"

Restart FxR and close and re-open the WebIDE page.

Tool Windows > Build Variants list is empty

  1. If you're not on the latest version, update Android Studio from Android Studio > Check for Updates….
  2. Run File > Sync Project with Gradle Files.

Debugging tips

  • When using the native debugger you can ignore the first SIGSEGV: address access protected stop in GV thread. It's not a crash; you can click Resume to continue debugging.
  • On some platforms such as Oculus Go the native debugger stops on each input event. You can set this LLDB post-attach command in Android Studio to fix the problem: pro hand -p true -s false SIGILL
  • You can use adb shell am start -a android.intent.action.VIEW -d "https://aframe.io" org.mozilla.vrbrowser/org.mozilla.vrbrowser.VRBrowserActivity to load a URL from the command line
  • You can use adb shell am start -a android.intent.action.VIEW -n org.mozilla.vrbrowser/org.mozilla.vrbrowser.VRBrowserActivity -e homepage "https://example.com" to override the homepage
  • You can use adb shell setprop debug.oculus.enableVideoCapture 1 to record a video on the Oculus Go. Remember to run adb shell setprop debug.oculus.enableVideoCapture 0 to stop recording the video.
    • You can also record videos on the Oculus Go by exiting to the system library, and from the Oculus tray menu (toggle with the Oculus button on the controller): Sharing > Record Video
  • You can set disableCrashRestart=true in the gradle user.properties to disable app relaunch on crash.
Comments
  • Some frames are abnormal. the two frames partially overlap.

    Some frames are abnormal. the two frames partially overlap.

    Configuration

    Wolvic version: 0.9.3 Wolvic build ID:

    Hardware: Huawei VR Glass 6dof

    Steps to Reproduce

    1. open wolvic,in the home page

    Current Behavior

    Expected Behavior

    please see the picture and video below.

    Possible Solution

    Context

    Error Logs and Stack Traces

    ![Screenshot_20220311_100102_com huawei videoeditor](https://user-images.githubusercontent.com/86649949/157791929-c30683df-8d07-40ac-8a82-c1641f5232ba.jpg)
    bug hvr 
    opened by dingsing2021 16
  • Pico Neo3 prebuilt APK

    Pico Neo3 prebuilt APK

    Hi Guys, Would you consider provide prebuilt APK that is compatible with Pico devices? Currently there's only Huawei & Quest build in the release page.

    enhancement 
    opened by issacclee 16
  • List folder for pico sdk in readme

    List folder for pico sdk in readme

    Is your feature request related to a problem? Please describe. Headsets for pico interactive are mentioned as supported on the website. There isn't an official build to work with. And the folder to place the sdk files is not listed in the README.md

    Describe the solution you'd like List the folder to place the pico sdk in README.md (better even: supply an official build with working features - a.k.a supported device)

    Describe alternatives you've considered redact "supported" on website to "can be built for" (need for documentation still applies)

    documentation 
    opened by HoboDev 13
  • Build hvr error,  'openxr/openxr_reflection.h' file not found

    Build hvr error, 'openxr/openxr_reflection.h' file not found

    Configuration

    Wolvic version: main branch, hash 41dc49b9f288a4d07497b0f149620b8d85df65bb Wolvic build ID:

    Hardware: hvr

    Steps to Reproduce

    1. build variants hvr3dofArm64Chinese
    2. build apk
    3. get error during externalNativeBuildHvr3dofArm64CnRelease
    * What went wrong:
    Execution failed for task ':app:externalNativeBuildHvr3dofArm64CnRelease'.
    > Build command failed.
      Error while executing process F:\Unity\2020.3.22f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C F:\git\wolvic\app\.cxx\cmake\hvr3dofArm64CnRelease\arm64-v8a native-lib}
      ninja: Entering directory `F:\git\wolvic\app\.cxx\cmake\hvr3dofArm64CnRelease\arm64-v8a'
      [1/56] Building CXX object src/main/cpp/vrb/src/CMakeFiles/vrb.dir/BasicShaders.cpp.o
      [2/56] Building CXX object CMakeFiles/native-lib.dir/src/openxr/cpp/OpenXRSwapChain.cpp.o
      FAILED: CMakeFiles/native-lib.dir/src/openxr/cpp/OpenXRSwapChain.cpp.o 
      F:\Unity\2020.3.22f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\ndk\21.4.7075529\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android24 --gcc-toolchain=F:/Unity/2020.3.22f1c1/Editor/Data/PlaybackEngines/AndroidPlayer/SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=F:/Unity/2020.3.22f1c1/Editor/Data/PlaybackEngines/AndroidPlayer/SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot  -Dnative_lib_EXPORTS -I../../../../../third_party/hvr/include -I../../../../../app/src/openxr/cpp -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security  -std=c++14 -fexceptions -frtti -Werror -IF:\git\wolvic\app\src\main\cpp -IF:\git\wolvic\app\src\main\cpp\vrb\include  -DHVR -DOPENXR -IF:\git\wolvic\app\src\openxr\cpp -DXR_USE_PLATFORM_ANDROID -DXR_USE_GRAPHICS_API_OPENGL_ES -O2 -DNDEBUG  -fPIC   -std=gnu++1z -MD -MT CMakeFiles/native-lib.dir/src/openxr/cpp/OpenXRSwapChain.cpp.o -MF CMakeFiles\native-lib.dir\src\openxr\cpp\OpenXRSwapChain.cpp.o.d -o CMakeFiles/native-lib.dir/src/openxr/cpp/OpenXRSwapChain.cpp.o -c ../../../../src/openxr/cpp/OpenXRSwapChain.cpp
      In file included from ../../../../src/openxr/cpp/OpenXRSwapChain.cpp:2:
      ../../../../../app/src/openxr/cpp/OpenXRHelpers.h:8:10: fatal error: 'openxr/openxr_reflection.h' file not found
      #include <openxr/openxr_reflection.h>
    

    The hvr openxr sdk provided by huawei does not contain openxr_reflection.h file. link

    Another issuse is that import com.huawei.hvr.LibUpdateClient; does not exisit in wolvic\app\src\hvr\java\com\igalia\wolvic\PlatformActivity.java:29:, which could be found in jar file inside hvr demo.

    Thank you so much for providing help.

    PS: What I want is to watch anime while laying on my bed. But the screen is always matching to horizental plane. I cannot recenter it. Is there anything like discord, we can discuss on? I really want to make some contribute. I guess building it is a trail. HAHAHAH

    opened by SiyaoHuang 12
  • Doesn't work on huawei matepad pro 10 no address bar!!

    Doesn't work on huawei matepad pro 10 no address bar!!

    Configuration

    Wolvic version: Wolvic build ID:

    Hardware:

    Steps to Reproduce

    Current Behavior

    Expected Behavior

    Possible Solution

    Context

    Error Logs and Stack Traces

    question 
    opened by choocoo 11
  • isSessionSupported('immersive-vr') got false in molvic but true in FirefoxReality

    isSessionSupported('immersive-vr') got false in molvic but true in FirefoxReality

    Hi, anyone has solution for this issue?

    1. Use the latest code and build with flavor noapiArm64Debug.
    2. Access website: https://immersive-web.github.io/webxr-samples/.
    3. Show ❌ - VR support not detected.
    4. But it works on Firefox Reality browser.

    Thanks!

    opened by lcgao 11
  • fullscreen video doesn't scale to resized window automatically

    fullscreen video doesn't scale to resized window automatically

    Configuration

    Wolvic version: 0.9.6 Wolvic build ID: 33

    Hardware: Quest 2

    Steps to Reproduce

    1. Open webpage with video (for example: https://www.youtube.com/watch?v=aqz-KE-bpKQ)
    2. Enter fullscreen
    3. The video is cropped

    Current Behavior

    Expected Behavior

    Possible Solution

    Context

    image image image

    Error Logs and Stack Traces

    bug question priority-low 
    opened by azumukupoe 10
  • Wolvic version: 0.9.3 & SDK version 3.5.0.76 (the latest commercial version ) Mismatch,6dof controller-related issues

    Wolvic version: 0.9.3 & SDK version 3.5.0.76 (the latest commercial version ) Mismatch,6dof controller-related issues

    Configuration

    Wolvic version: 0.9.3 Wolvic build ID:

    Hardware: huawei vr glass 6dof & SDK version 3.5.0.76 (the latest commercial version )

    Steps to Reproduce

    Current Behavior

    1、The left and right handles are reversed, 2、and some keys, such as the remote lever key and left handle function key, are unavailable.

    Expected Behavior

    Possible Solution

    Context

    Error Logs and Stack Traces

    bug third party 
    opened by dingsing2021 10
  • https://sprayspace.art/app/  will not open on Wolvic

    https://sprayspace.art/app/ will not open on Wolvic

    Try to open the Wonderland Engine based experience, https://sprayspace.art/app/ You will notice it does not open on Wolvic (1.0.2/1.1)/Quest 2, but it opens on Quest browser/Quest 2.

    third party 
    opened by matlu 9
  • Synchronize browsing records and bookmarks between browsers (such as Firefox and Chrome) on mobile phones or PCs and Wolvic VR.

    Synchronize browsing records and bookmarks between browsers (such as Firefox and Chrome) on mobile phones or PCs and Wolvic VR.

    Is your feature request related to a problem? Please describe.

    here is the update of the 0.9.5 of wolvic: This release of Wolvic is primarily focused on a few significant updates to the browser itself: The resoration of the sync/send tabs functionality that was previously available in Firefox Reality. You can now sync your bookmarks and send tabs between devices running Firefox and Wolvic. -- but in the vr brower, it is very difficult to input the URL ;

    Describe the solution you'd like Synchronize browsing records and bookmarks between browsers (such as Firefox and Chrome) on mobile phones or PCs and Wolvic VR.

    1. The same user account has been used to log in to the Firefox and Wolvic.
    2. Take Firefox as an example. On a mobile phone or PC, it is convenient to enter or search for WebXR or 2D content because the keyboard is used for input. Use the Firefox browser to access a website. or have a website in favorites;
    3. The user can view the historical records or favorites in Wolvic.

    Describe alternatives you've considered

    Additional context

    bug priority-high 
    opened by dingsing2021 9
  • Run moon rider , There is a possibility that the image is frozen when the block wall appears(with a high probability).

    Run moon rider , There is a possibility that the image is frozen when the block wall appears(with a high probability).

    Configuration

    Wolvic version: 0.9.3 Wolvic build ID:

    Hardware: huawei vr glass 6dof + mate40pro(kirin 9000 chipset)

    Steps to Reproduce

    1.open wolvic and enter moon rider 2. chose the classic mode, chose the song: beat it - Michael Jackson 3. When the block wall appears, the picture freezes (with a high probability), but the sound is normal. The 6dof controller buttons can be used.

    Current Behavior

    1. chose the classic mode, chose the song: beat it - Michael Jackson
    2. When the block wall appears, the picture freezes (with a high probability), but the sound is normal. The 6dof controller buttons can be used.

    Expected Behavior

    Possible Solution

    Context

    You can confirm that the phone is not overheating.

    Error Logs and Stack Traces

    bug priority-high 
    opened by dingsing2021 9
  • [Extensions] Unable to toggle any of the extension settings switches

    [Extensions] Unable to toggle any of the extension settings switches

    Configuration

    Wolvic version: 1.2 and latest code in main

    Hardware: Meta Quest 2

    Steps to Reproduce

    1. Install any extension through Add-ons tab in Library
    2. Click on installed addon to go to Add-on Options
    3. Click on any of "Enabled" or "Run in private browsing"

    Current Behavior

    The toggles/switches don't change, but seem to change on reopening the app

    Expected Behavior

    The toggles/switches should change to show if Add-on setting change was applied or not

    Possible Solution

    The bind method which sets the switch state gets called after each toggle, maybe this gets called before the add-on setting value has changed internally?

    Context

    I encountered this issue while working on #391 . This affects all addons (not just locally installed ones)

    opened by DevPika 0
  • [Extensions] Allow installation of locally downloaded extensions/addons

    [Extensions] Allow installation of locally downloaded extensions/addons

    Related to #22 This PR adds a Developer Setting to Allow installation of locally downloaded extensions.

    Flow:

    1. User enables Developer Option to Allow local addon installation (Settings > Developer Options > "Allow Installation of Local Addons")
    2. User downloads .xpi file from the extension's website
    3. User clicks on the corresponding entry in the Download Manager
    4. The addon is installed and enabled

    The installation flow for a LocalExtension is quite different from a regular addon. The primary difference is that for local extensions, we do not have an "Addon" class instance available prior to installation when we refresh our addons list, as info related to that is populated from the extension manifest only after installation. So the local addon installation needs to happen similar to how BuiltInExtensions are installed in the existing code.

    Installation workflow difference:

    For regular addons (flow already exists):

    1. Get list of Addons
    2. User presses the + icon for installation
    3. ...UI Confirmations for download and install...
    4. Install method requires passing an existing instance of Addon
    5. All registered listeners receive onAddonsUpdated through notifyListeners in the same file

    For local addons (added through this PR, similar to BuiltInExtension):

    1. User clicks on downloaded addon
    2. Extension installed through WolvicWebExtensionRuntime, not through AddonManager
    3. All registered listeners receiveonAddonsUpdated through notifyListeners, but this time inside LocalExtension class after installation is done

    I searched through FirefoxForAndroid codebase and GeckoView API, but could not find a way to construct an Addon object from xpi file before installation. A possible change in workflow can be to register to installPrompt call, but I wasn't sure how to integrate that deeply into GeckoView. So I kept the changes straightforward for now

    TODO

    • [ ] Dialog / toast message to show success/failure of local addon installation instead of a silent install
    • [ ] Tests for the feature?
    • [X] Fixed - Rating Bar and Icon were incorrectly assigned for fresh installation of local addons, now custom/default icon is shown and rating bar gets hidden if no info
    • [X] What happens when "same" extension clicked multiple times? Seems to only get installed once currently.
    • [X] Update Addons List as soon as addon installation complete
    • [X] Fix addon showing up in the Disabled section even though Enabled. This is because of AddonManager code in AC 75.0.22, which provides list of addons, ignores installedstate and forces enabled = false Fixed by updating list with correct state and adding a new section "Experimental"

    com igalia wolvic-20221225-191408

    com igalia wolvic-20221227-165537

    opened by DevPika 3
  • Adding Improved file:/// URL Support

    Adding Improved file:/// URL Support

    I'm using Wolvic to help with WebXR development on the Oculus/Meta Quest 2. Currently I'm looking for ways to test my app without needing to launch an entire webserver every time I make a change.

    Instead I've been attempting to use Wolvic by directing it to file:///storage/emulated... and so on to the path of my html file. On desktop Firefox this is rather easy. I can clearly find the right files, and it even shows me a simple directory listing. However, on Wolvic, unless you type in the exact filepath with no mistakes, it instead mistakes your file:/// url for a search term and sends it to your default search engine.

    My request is that Wolvic treats any url starting with file:/// as internal only, and instead of searching the web, opens a cut-down directory listing of the local filesystem.

    The reason for my request is that there aren't many alternatives. Oculus File Browser will only open a few non-developer files such as .png. Certainly not .html files. The other file browsers on the system don't automatically open in Wolvic. As Wolvic already has file:/// support when viewing downloads, improving that slightly would have great benefits for normal users in terms of download management, and a great boon to developers for VR on the web.

    enhancement 
    opened by TechnocampsJack 0
  • OpenXR: Emulate Oculus Touch interaction profile if hand tracking is enabled

    OpenXR: Emulate Oculus Touch interaction profile if hand tracking is enabled

    Since we are emulating controller functionality for hand tracking, we need to always have an active interaction profile, even if Wolvic is launched without any controllers active.

    This patch emulates the activation of OculusTouch controllers at the beginnig of the OpenXR session, if hand tracking support is detected at runtime.

    However, there is a caveat: in immersive mode, hand tracking will not work if the actual controllers have not been used at least once since Wolvic was launched. This is because we are implementing hand-tracking in Wolvic side, and Gecko engine is unaware of the emulation of controllers. So if gecko hasn't populated any controllers to the web app through WebXR APIs, the web app will not detect any controller during an immersive experience.

    opened by elima 2
  • Thumb stick reporting constant press on HTC Vive Focus 3

    Thumb stick reporting constant press on HTC Vive Focus 3

    Configuration

    Wolvic version: 1.1 Wolvic build ID: 059d7268 (AC 63.0.0)

    Hardware: HTC Vive Focus 3

    Steps to Reproduce

    1. Visit any web page
    2. Try to scroll with the thumb stick

    Current Behavior

    It won't scroll

    Expected Behavior

    It should scroll

    Possible Solution

    We believe that it isn't scrolling because Wolvic is convince the thumbstick button is in the "pressed" state. We similarly see that state when we read the gamepad interface. Also, when entering VR for the first time, the page showing the controllers cannot be dismissed with a trigger pull. We believe this is probably caused by the same issue.

    We see this on two different headsets, and it appears to affect both the left and right controller. This is using the very latest OS build from HTC.

    Context

    Error Logs and Stack Traces

    bug htc 
    opened by mrjoshuaesmith 3
Releases(v1.2)
  • v1.2(Nov 4, 2022)

    This new release of the 1.x series brings a good bunch of nice features as long as several bug fixes. The new features improve the user experience at many different levels, from having more pleasant fullscreen video experiences to better rendering of WebXR sessions on Huawei devices by using antialiasing by default. We've also reached an important milestone in packaging, because after the recent 3.5.0.79 release of the Huawei VR SDK, we are able to release a single package for Huawei devices which supports both 3DoF and 6DoF controllers. So there is no need to install different apps to enjoy Wolvic with the controllers that please you the most.

    For a detailed list of changes check out the release notes.

    General fixes

    • Improved background dimming in fullscreen video mode
    • Added support for favicons in bookmarks
    • Don't show "Developer build" in the Settings dialog
    • Fixed a crash when clicking on mailto: URLs
    • Do not show a confirmation dialog when downloading assets in WebXR sessions

    Huawei Glasses

    • Do not close the application when exiting the security zone
    • Display images of the controllers when entering WebXR sessions
    • Enabled analytics
    • New hybrid 3DoF/6DoF packages
    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-cn-release.apk(85.01 MB)
    Wolvic-hvr-arm64-world-release.apk(85.16 MB)
    Wolvic-oculusvr-arm64-world-release.apk(81.67 MB)
    Wolvic-oculusvrStore-arm64-world-release.apk(81.67 MB)
  • v1.1.1(Oct 6, 2022)

    This is the first bug fixing release of the 1.1 series. Although it contains several nice fixes, it will be specially critical for HVR users who have updated to Harmony 3.0 as this new version of the OS is based on Android 12 which requires some adaptations in Wolvic to work properly.

    General

    • New UA overrides: walkofchampions.vodafone.co.uk, matterport.com & somniumspace.com
    • Harmonization of the left controller menu button behaviour. It now goes backward in 2D browser mode and is used to exit both WebXR experiences and immersive 360 videos
    • New Kiosk mode API based on custom URLs. Wolvic now handles wolvic://com.igalia.wolvic URLs which can take parameters like the URL to load or a switch to enable kiosk mode
    • Kiosk mode does no longer open pages in fullscreen by default
    • Updated translations: Galician, Chinese, Russian, Korean & Spanish

    HVR

    • Added support for Harmony 3.0 (Android 12) in HVR devices
    • New "exit app" confirmation dialog in HVR when trying to go back in a session with no previous browsing history

    Meta Quest/Quest2

    • Fixed OpenXR input mapping in Meta Quest, A&B buttons were incorrectly swapped with X&Y
    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-cn-release.apk(84.77 MB)
    Wolvic-hvr-arm64-world-release.apk(84.93 MB)
    Wolvic-hvr3dof-arm64-world-release.apk(84.77 MB)
    Wolvic-oculusvrStore-arm64-world-release.apk(81.61 MB)
  • v1.1(Sep 15, 2022)

    As the change of the minor version suggests, we are not only adding bug fixes, but also new features. In particular this release comes with the migration to a modern version of Gecko and three new very interesting features: haptic support in OpenXR builds, Kiosk mode and PushKit support.

    It also includes some bug/crash fixes and updated translations for many languages.

    Notes

    General

    • Upgraded GeckoView 96 to GeckoView 103.0.2: starting from now we use GeckoView 103.0.2 which is powered by Gecko's 105 series. This upgrade brings massive improvements specially in audio support
    • Haptic support for OpenXR builds: this not only improves the experience but it also allows users to run some WebXR applications that were not previously working due to the lack of that support, like Magical Reflections.
    • Updated translations: Chinese, Danish, French, Galician, Korean, Portuguese (Brazil), Spanish, Swedish
    • Fixed a crash when trying to show a Open file dialog
    • Properly advertise stage space capabilities whenever available: this enables experiences using "bounded-floor" reference spaces

    Huawei Glasses

    • Kiosk Mode: in this mode no browser UI (what is usually known as the chrome) is shown and Wolvic loads a very specific webpage specified in the Android intent used to launch Wolvic
    • PushKit support: as the docs say "Push Kit is a messaging service provided for you to establish a cloud-to-device messaging channel. By integrating Push Kit, you can send messages to your apps on user devices in real time"
    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-cn-release.apk(84.77 MB)
    Wolvic-hvr-arm64-world-release.apk(84.92 MB)
    Wolvic-hvr3dof-arm64-cn-release.apk(84.77 MB)
    Wolvic-hvr3dof-arm64-world-release.apk(84.77 MB)
    Wolvic-oculusvrStore-arm64-world-release.apk(81.61 MB)
  • v1.0.2(Aug 15, 2022)

    This is the second bugfix release in the 1.0.x series. Version 1.0.2 includes bug fixes, improvements in permission request ergonomics, and some updated translations:

    • Fixed a crash at startup: several users reported crashes at startup that are fixed after wiping the application data. We found an issue in logins database that is most likely the culprit of the crash
    • Added UI to remember location permission requests: as in desktop browsers Wolvic can now remember users' choices wrt to accepting/rejecting location permission requests
    • Improved Portuguese translation (now at 19%)
    • Improved Russian translation (now at 96%)
    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-cn-release.apk(89.14 MB)
    Wolvic-hvr-arm64-world-release.apk(89.14 MB)
    Wolvic-hvr3dof-arm64-cn-release.apk(89.13 MB)
    Wolvic-hvr3dof-arm64-world-release.apk(89.14 MB)
    Wolvic-oculusvrStore-arm64-world-release.apk(85.74 MB)
  • v1.0.1(Jul 27, 2022)

    After the major 1.0 release we're quickly tackling several issues that affected some of our users in order to improve the Wolvic experience. Some of them are particularly annoying since they caused features like Firefox account synchronization to break, or even worst, prevent Wolvic from running.

    • Fixed Firefox Accounts synchronization: unexpected changes on the server side broke the authentication with Mozilla servers a few days ago. It should work fine now.
    • Fixed a crash at startup: long lasting issue coming from the Firefox Reality times. It's caused by a module from mozilla-components. Added mitigation measures to prevent the crash.
    • Fixed a crash when closing the last tab: a recent regression caused by the work on automatic desktop mode in streaming sites.
    • Fixed translations: the Weblate tool we use for translations removed some CDATA keywords from translations.
    • Write permissions on external storage: some platforms require write permissions in order to take screenshots or screencasts. Should be possible from now on.
    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-cn-release.apk(89.12 MB)
    Wolvic-hvr-arm64-world-release.apk(89.12 MB)
    Wolvic-hvr3dof-arm64-cn-release.apk(89.12 MB)
    Wolvic-hvr3dof-arm64-world-release.apk(89.12 MB)
    Wolvic-oculusvrStore-arm64-world-release.apk(85.74 MB)
  • v1.0(Jul 8, 2022)

    Finally 1.0 is here!. This important milestone comes with tons of changes:

    General Fixes

    • Fixed the distortion in XR sessions in Oculus after selecting IPD in positions 1 or 3
    • Fixed the situation in which Wolvic refused to enter WebXR sessions even after restarting
    • Fixed a few regressions caused by the multibackend migration
    • Fixed Wolvic exiting whenever users go out the security zone (HVR only)

    Stability Fixes

    • Fixed a crash in the crash reporting service
    • Fixed a crash in the slow script handler

    Websites Compatibility

    • Popular streaming services are opened automatically in desktop mode. The list of services includes Netflix, HBOMax, Disney+, Hulu, Amazon Prime Video...
    • Several XR experiences work now by pretending to be the Meta browser

    Media Fixes

    • Fixed a hang in YouTube when closing a window while a YouTube video plays
    • Fixed a hang in YouTube when going fullscreen before the video starts to play

    Speech Recognition services

    • Configurable speech recognition service
    • UI only lists the specific list of supported languages for each service

    New Translations

    • Chinese
    • French
    • Japanese
    • Korean
    • Galician
    • Spanish
    • and many more

    Project infrastructure

    • Cleaned up the wiki
    • Added switches to the Wolvic start page to filter experiences based of devices/regions
    • Added new experiences to the start page
    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-cn-release.apk(89.12 MB)
    Wolvic-hvr-arm64-world-release.apk(89.12 MB)
    Wolvic-hvr3dof-arm64-cn-release.apk(89.12 MB)
    Wolvic-hvr3dof-arm64-world-release.apk(89.12 MB)
    Wolvic-oculusvrStore-arm64-world-release.apk(85.74 MB)
  • v0.9.6(May 27, 2022)

    Several new features and many fixes for a new release of Wolvic. Getting closer to 1.0

    Common changes

    • Enabled MSAA (antialiasing) in WebXR sessions
    • Fixed voice search error reporting in UI
    • Updated What's new, Help, and Send feedback links in Settings window
    • Simplified storage settings handling. Always use external storage
    • Improved UI ergonomics on some Settings windows
    • Added support for FirefoxAccounts sync in China
    • Fixed a crash in text selection code
    • Added ACCESS_COARSE_LOCATION permission

    Oculus

    • Fixed upward rotation of controllers in WebXR
    • MSAA 2x enabled by default
    • Improved behaviour when headset tracking is off

    Huawei VR Glasses

    • Fixed upward rotation of controllers in WebXR
    • Use the Meetkai speech recognition service. Also improved speech recognition error handling
    • Fixed reversed scroll direction on y axis
    • New 3D model for 3DoF controller
    • New 2D phone UI with tutorial

    For the complete release notes go to releases

    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-world-release.apk(84.82 MB)
    Wolvic-hvr3dof-arm64-world-release.apk(84.82 MB)
    Wolvic-oculusvrStore-arm64-world-release.apk(81.45 MB)
  • v0.9.5(May 16, 2022)

    Tons of stuff going on behind the scenes preparing the upcoming 1.0 release and some other major changes in the project architecte. Apart from that we can highlight the following changes:

    • Restored Firefox Accounts - sync bookmarks and send tabs between devices running Firefox and Wolvic.
    • Choose and set the default search engine - “Privacy & Security” -> “Edit” -> “Search engine”
    • Wolvic’s privacy policy and privacy settings
    • Fixes for Huawei's 6DoF controllers - circumventing some issues with the latest Huawei VR SDK

    For the complete release note to to releases

    Source code(tar.gz)
    Source code(zip)
    Wolvic-hvr-arm64-release.apk(84.80 MB)
    Wolvic-hvr3dof-arm64-release.apk(84.80 MB)
    Wolvic-oculusvrStore-arm64-release.apk(81.39 MB)
Owner
Igalia
Open Source Consultancy
Igalia
Source code of the standalone multiplayer server software of the game "Celaria"

Celaria Server This is the source code of the standalone multiplayer server for the Game "Celaria". (https://www.celaria.com) of modding the server si

Lewa 3 Nov 14, 2021
SecureDB is an extension for Ai2 Appinventor and its distros which stores the data in the form of key and value just like TinyDB but in a more secure manner.

SecureDB SecureDB is an extension for Ai2 Appinventor and its distros which stores data for your app in a secure format locally on user's device. Expl

Akshat Developer 3 Sep 24, 2022
Decipher-pad - Encrypt and secure your text files with Decipher Pad!

Welcome to Decipher Pad ?? Encrypt and secure your text files with Decipher Pad! Table of Contents About The Project Tech Stack Prerequisites Developm

Md Ausaf Rashid 4 Feb 24, 2022
Programming Services and Processes - 04 Secure Programming Techniques

Programación de Servicios y Procesos - 04 Técnicas de Programación Segura Tema 04. Técnicas de Programación segura. Curso 2021/2022. Contenidos Introd

José Luis González Sánchez 5 Dec 27, 2022
This project shows how to configure basic auth to secure our rest API and basic transaction on Data JPA

Basic Atuthentication Spring Boot Data JPA, MySQL This project shows how to configure basic auth to secure our rest API and basic transaction on Data

Hafizullah Samim 1 Feb 10, 2022
CodeGen - a secure, high efficiency, and offline-able software, it provides several useful functions

CodeGen Efficiency ToolBox Introduce Download References Issues and Suggestions Software Preview Introduce CodeGen is a secure, high efficiency, and o

null 454 Jan 4, 2023
These samples explore the different options that Spring Boot developers have for using Javascript and CSS on the client (browser) side of their application.

Table of Contents Getting Started Narrowing the Choices Create a New Application Webjars Show Me Some Javascript Normalizing Resource Paths Adding Tab

Dave Syer 18 Jul 29, 2022
Jlink.online - Build optimized Java runtimes in your browser!

jlink.online is a HTTP microservice that builds optimized/minimized Java runtimes on the fly. This project is currently experimental and subject to ch

Tyler Cook 1 Dec 2, 2020
Desktop browser based game using the popular Pokemon franchise.

Project Title: Pokemon Auto-Battler Description: Desktop browser based game using the popular Pokemon franchise. Why? Its a topic we are interested in

null 2 Feb 3, 2022
A virtual camera based on Xposed

A virtual camera based on Xposed

null 643 Dec 31, 2022
LimboAuth - Minecraft Auth System for Velocity proxy built in virtual server (Limbo).

LimboAuth Auth System built in virtual server (Limbo). MC-Market SpigotMC.org Описание и обсуждение на русском языке (spigotmc.ru) Описание и обсужден

Elytrium 89 Jan 4, 2023
Echo client-server components to evaluate Project Loom virtual threads.

Overview Project Loom is the OpenJDK initiative to introduce user-mode threads in Java. The purpose of this repository is to compare Project Loom virt

Elliot Barlas 15 Nov 1, 2022
Runtime code generation for the Java virtual machine.

Byte Buddy runtime code generation for the Java virtual machine Byte Buddy is a code generation and manipulation library for creating and modifying Ja

Rafael Winterhalter 5.3k Dec 27, 2022
Virtual model of an atom

Project Zero Virtual model of an atom. Download Demo · Report Bug Table of Contents About The Project Built With Getting Started Prerequisites Install

Phi Long Bui 3 Dec 23, 2022
Java virtual machine made in Java by HoverCatz#0060

Obzcure Virtual Machine Java virtual machine made in Java THIS IS NOT PRODUCTION SAFE - WORK IN PROGRESS! Use at your own risk. Requires Java 17 (with

null 9 Oct 18, 2022
code test from a virtual bank

account-manager provided 2 apis: /api/account/{accountNumber} for retrieving balance /api/account/transfer for transferring balance transfer balance o

Ray Chong 2 Oct 23, 2021
Vert.x virtual threads incubator

Vert.x Virtual Threads Incubator Incubator for virtual threads based prototypes. Prerequisites Vert.x 4.3.2 Java 19 using preview feature OpenJDK 19 E

Eclipse Vert.x 89 Dec 27, 2022
A distributed lock that supports the use of Redis and Zookeeper, out of the box, fast and easy to use

lock-spring-boot-starter A distributed lock that supports the use of Redis and Zookeeper, out of the box, fast and easy to use 一款基于 Redis 和 Zookeeper

Pear Stack 9 Oct 15, 2022
A simple Plugin to allow server admins and user with Permissions to change fast and easy thier own Gamemode

A simple Plugin to allow server admins and user with Permissions to change fast and easy thier own Gamemode

Qubik Studios 1 Jan 17, 2022