vrOS v0.15.0 Patch Notes
New Features
- First-run welcome dialog for desktop mode. Mirrors the existing VR welcome with a brief feature tour (Overlays, FPS Overlay, Soundboard, OBS, Twitch, VRChat, OpenVR Settings) and an auto-launch tip.
Bug Fixes
- Unregister Ultralight view callbacks before freeing their userdata to avoid use-after-free during view teardown.
- Move dashboard bridge/shim injection to DOMReady so Ultralight reloads reinject cleanly.
Improvements
- New vros.ui.copyText bridge endpoint for copy actions, with a shared browser fallback in the frontend helper.
- Ultralight filesystem callback now constrained to configured asset and resource roots, with tests covering cache-busted URLs, absolute file URLs, and traversal rejection.
- Console-message logging from Ultralight views surfaced through the host logger.
- Hidden "Developer Mode" and "Start with Windows" toggles in General settings; underlying config codepaths kept for a future cleanup pass.
Other Changes
- ES2020 compatibility guard added to the UI build (npm run compat:check) so risky embedded-WebKit APIs fail fast before shipping.
