Repository navigation
v2.1.0
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