vrOS v0.5.2 Patch Notes
Highlights
- Major desktop-only memory leak reduction. In local warm profiling, the desktop app's recurring private-byte growth dropped from roughly +8.9 MB to +15.8 MB over 3-minute samples to about -0.5 MB to +1.4 MB over equivalent runs. This leak reduction applies to the desktop app path; smaller residual leaks are still being investigated separately.
- Desktop close behavior is more polished. The shutdown dialog now includes the desktop auto-start checkmark and correctly saves that preference when you close the app.
- Startup and shutdown are more stable. Bridge teardown and child-process pipe decoding were hardened so transient lifecycle races do not spam new JSCore warnings or unnecessarily destabilize child processes.
Bug Fixes
- Reduced the main desktop idle memory bleed by throttling unnecessary Ultralight, bridge, and shell timer activity while the desktop app is idle.
- Fixed the desktop shutdown dialog so the auto-start desktop checkbox persists instead of being lost when closing the app.
- Fixed bridge lifecycle handling so missing `window.__vros` during startup or teardown is treated as a normal page state instead of a noisy warning path.
- Hardened desktop and VR child pipe decoding so isolated malformed frames are logged with better diagnostics instead of immediately tearing down the child connection.
Improvements
- Desktop shell updates are more activity-driven, with less constant background wake-up work from clocks, VR status refreshes, and auth revalidation.
- Pipe framing diagnostics now include payload previews and prefix bytes, making the remaining IPC and shutdown issues much easier to investigate.
