Skip to content

v2.1.0

Choose a tag to compare

@mula-bb mula-bb released this 04 Apr 19:52
· 6 commits to main since this release

Fork note: This fork contains bug fixes, performance improvements, and a major build size reduction. See Changelog below.

STEP 1: Choose the correct file for your operating system.

Downloads (v2.1.0)

File Platform Size
apprenticevr-2.1.0-arm64.dmg macOS Apple Silicon (M1–M5) 123 MB
apprenticevr-2.1.0-x64.dmg macOS 11+ Intel 130 MB
apprenticevr-2.1.0_macOS-10.13-x64.dmg macOS 10.13+ Intel 100 MB
apprenticevr-2.1.0-setup-x64.exe Windows x64 (installer) 88 MB
apprenticevr-2.1.0-portable-x64.exe Windows x64 (portable) 88 MB
apprenticevr-2.1.0-x86_64.AppImage Linux x64 (any distro) 117 MB
apprenticevr-2.1.0-arm64.AppImage Linux arm64 (any distro) 117 MB
apprenticevr-2.1.0-amd64.deb Debian/Ubuntu x64 92 MB
apprenticevr-2.1.0-arm64.deb Debian/Ubuntu arm64 87 MB

STEP 2: Server Configuration (Required on First Run)

You must provide your own ServerInfo.json configuration file.

On first launch, the app will show a dialog with the location of the config file. You can also create it manually:

Platform Config Location
Linux ~/.config/apprenticevr/ServerInfo.json
macOS ~/Library/Application Support/apprenticevr/ServerInfo.json
Windows %APPDATA%\apprenticevr\ServerInfo.json

Create or edit the file with the following format:

{"baseUri":"https://your-url-here/","password":"your-password-here"}

IMPORTANT: The ServerInfo.json file must use Linux/LF line endings (\n), not Windows/CRLF line endings (\r\n). This applies to all platforms (Windows, macOS, and Linux). Most modern text editors (VS Code, Notepad++, Sublime Text) can set line endings — make sure it is set to LF before saving. If the app fails to read your credentials, incorrect line endings are the most common cause.

STEP 3 (FINAL STEP): Restart the app. If credentials change in the future, just update this file — no rebuild needed.

macOS Note:

Since the app is not code-signed with an Apple Developer certificate, you may need to run xattr -c on the .app after extracting from the DMG:

xattr -c /Applications/ApprenticeVR\ VRSrc\ Edition.app

CHANGELOG

What's Changed?

Bug Fixes

  • YouTube trailers now play in-app — replaced broken iframe embeds with an isolated webview process that bypasses YouTube embed restrictions. Added a "Watch on YouTube" link as a fast fallback.
  • Downloads no longer stall at 100% after resume — pausing and resuming a download now properly continues through extraction and installation instead of getting stuck.
  • Download paths no longer double on resume — fixed a bug where each pause/resume cycle appended duplicate folder names, causing files to download to the wrong location.
  • Progress bar no longer resets to 0% on resume — resumed downloads now account for already-downloaded data and continue from the correct percentage.
  • Download progress no longer stuck at 0% — added fallback progress calculation when the server delays reporting total file size.
  • arm64 macOS app no longer crashes on launch — re-signed the app bundle with a consistent ad-hoc signature to fix a Team ID mismatch between the main binary and Electron framework.

New Features

  • Pause & Resume buttons on the downloads sidebar — pause kills the download process, resume picks up from partial files automatically.
  • 5 concurrent downloads — replaced the serial single-download queue. Up to 5 games download in parallel with automatic slot filling.
  • Download speed & ETA display — the download badge now shows real-time percentage, speed, and estimated time remaining.

Performance

  • App feels significantly snappier — memoized all React context providers to eliminate cascading re-renders across the entire UI.
  • Game list loads faster (2600+ games) — replaced thousands of individual file checks with a single batch operation; switched to Map-based lookups instead of repeated list scans; added search debounce.
  • Lower CPU usage while idle — reduced IPC message frequency, stabilized device tracking listeners, removed duplicate resize handlers.

Build

  • DMG size reduced from 478MB to ~125MB (74% smaller) — moved UI-only libraries to dev dependencies (Vite already bundles them), removed 12 completely unused packages, excluded non-code files from the app bundle.
  • No more macFUSE/WinFsp requirement — replaced rclone mount with rclone copy. Works out of the box on all platforms.
  • Only one ADB install runs at a time — concurrent downloads queue their installations to prevent conflicts with the Quest headset.

macOS Note

Since the app is not code-signed with an Apple Developer certificate, you may need to run xattr -c on the .app after extracting from the DMG:

xattr -c /Applications/ApprenticeVR\ VRSrc\ Edition.app