1. XSOverlay
  2. News
  3. Build 667 - System Monitor UI 3.0, Websocket API and more!

Build 667 - System Monitor UI 3.0, Websocket API and more!

[h3]Developer Note[/h3]
Hi all. This is a fairly large update under the hood, lots of bug fixes and QoL improvements. Something to note here is that while this changelog is fairly large, I may have missed some stuff!

Next on my list of overhauls is the Layout system...

Anyways, hope the update is good. See you again soon with more on the beta branch :)

[h3]Changes[/h3]
  • System Performance Monitor has finally received it's much needed UI 3.0 update!

    This includes a lot of back end changes to the performance monitor that overhauls the logic of how it polls, and makes numbers as accurate as they can be.

    Thank you to the FPSVR developer for helping out with the math here, my numbers should now be roughly the same!


  • Websocket API is now public and can be used by third party applications. Documentation for developers can be found here! Keep in mind that the Websocket API will be updated in the future further when Webapp support is added! Right now, it contains only the things I needed to get the UI to function so far.

  • NodeJS has been removed in favor of C# file hosting for UI page elements. This should increase stability across the board and prevent false antivirus flags from the NodeJS server being spun up.

  • Notifications can now be sent through websocket API. This is the recommended way to send a notification now, as the UDP will not be updated in the future (it will remain for compatibility reasons in its current state, however.

  • Smart Roll has been overhauled to allow for laying down and looking straight up -- this is a change that should make the overlay not spin around like a beyblade in this scenario.

  • Battery Widget on the Wrist now shows HMD battery information, if the HMD supports it. (Quest2, Quest3, Quest Pro, Pico, Etc.)


[h3]Bug fixes[/h3]
  • Fixed an issue where sometimes the Window Settings menu would not show the correct window.

  • Fixed an issue where the mouse cursor would never be visible on desktop captures.

  • Fixed an issue where WMR headsets were not able to use Input Blocking.

  • Fixed an issue where the Wrist overlay would not save its position and scale properly.

  • Fixed an issue where the performance monitor would show the integrated gpu on systems that have both an iGPU and dGPU.

  • Fixed an issue that would cause the UI to render font in Times New Roman.

  • Fixed an issue that could cause stuttering when the performance monitor was open.

  • Fixed a bug that would cause a hard crash when sending a low battery notification. (threading moment.)

  • Fixed an issue where enabling High Contrast Mode in windows would destroy the UI in XSO.

  • Fixed an issue where sometimes the cursor would not properly interact with the desktop on the first instance of an overlay being created after a fresh start.

  • Fixed a security flaw with the Websockets API that allowed non local connections to send commands. Non local connections are now limited to a subset of commands.


[h3]Misc[/h3]
  • Lots of backend changes to file structure to prepare for UI theming workshop support.