Skip to content

Webplatform v3.0 - Guillaume

Latest

Choose a tag to compare

@RoiArthurB RoiArthurB released this 22 Apr 08:20
de1ac2b
Management view Streaming view
Management view Streaming view

Changelog

New look & feel

  • Refreshed UI with new fonts, colors, and visual assets throughout the platform
  • Consistent button sizes and layouts across all screens
  • Animated buttons in the simulation selection and management views
  • Colored borders on headset streams to easily identify which headset is which
  • New folder icon to distinguish sub-projects

Headset setup is now automatic

  • The platform can now automatically install required apps (auto-adb, Oculus ADB) on connected headsets — no manual setup
    needed
  • Use a custom android application to keep ADB Wireless active all the time
  • Headset power settings are now configured automatically (4-hour auto-off)

UPS power management

  • The platform now monitors your UPS (APC Back-UPS BX2200MI) and will automatically shut down all headsets after 3 hours or
    on power events

Better video streaming

  • Significantly improved stream quality and performance
  • Video now decodes in a background thread, reducing UI lag
  • Stream rotation is now correct (no longer tilted at 25°)
  • Streams restart automatically when a new browser tab connects
  • Fixed streaming on Safari

Bug fixes

  • Disconnected headsets are now properly grayed out in the interface
  • All players are correctly disconnected when stopping an experiment
  • Fixed the stop button not appearing in the simulation manager
  • Fixed the platform crashing when no VU is found in the configuration (Gamaless mode now clearly indicated)

For developers

ADB & Headset Management

  • Refactored AdbManager into a proper manager + new HeadsetSetup class handling all device checks and application
    installation
  • Auto-install of auto-adb and Oculus ADB tools on headsets
  • Added installApk() support for future self-healing headset configuration
  • OVR preferences and power settings (4-hour auto-off) now configurable from the platform
  • System/secure settings exposed for headset setup
  • Early detection of device → offline transitions in AdbManager

UPS Power Control

  • New UpsManager with polling, reconnection logic, and graceful shutdown
  • Reverse-engineered communication protocol for the APC Back-UPS BX2200MI
  • Automatic 3-hour session shutdown timer integrated with UPS state
  • Added shutdownAllHeadsets() on the AdbManager

Video Streaming (Scrcpy)

  • Migrated video decoding to WebCodecs API (replacing previous approach)
  • Moved WebCodecs decoder to a Web Worker for better performance
  • Added backpressure handling to keep video stream clean and reduce artifacts
  • Bumped Scrcpy to v3.1 and yume-chan libs to v1.0.0 (stream rotation now flat)
  • Fixed bitrate: was wrongly set to 200bps instead of 8Mbps
  • Fallback to MessagePort when ReadableStream transfer is unsupported (Safari fix)
  • Streams now restart for every newly connecting client
  • ReadableStream and decoder lifecycle management improved

Networking & WebSockets

  • Migrated WebSocket layer to µWebSockets.js (faster, lighter, better payload compression)
  • Added multicast DNS (mDNS) support — connect via simple.local: instead of static IPs
  • Per-message compression enabled for player connections
  • Unified sendMessageByWs() function in Monitor for cleaner message handling
  • Fixed wsID forwarding in addEveryPlayer

Player Management

  • Migrated PlayerManager to a Map<id, player> structure
  • Fixed player disconnect/reconnect edge cases (ghost players when closing a simulation)
  • Properly disconnect all players when stopping an experiment
  • Fixed player ID mismatch between websocket ID and in-game Unity ID

Gamaless Mode

  • Better handling of the GAMALESS mode in both backend (verbose warnings) and frontend (visual indicator)
  • Prevents crashes when no VU is found in the configuration

Scanning & Setup Scripts

  • scan_and_connect script reworked: faster scan (~2s vs 10s), verbose flag, better regex, admin-mode speedup
  • PowerShell equivalent script added for Windows users
  • IP address sanitization added to prevent copy-paste artifacts from breaking the config

Cleanup & Refactoring

  • Removed the old demo package and unused components/pages
  • Removed React.FC usage across components
  • Reorganized dependencies (most devDependencies moved to prod)
  • Package version bumped to 3.0.0
  • Added GitHub issue templates

Generated changelog

Full Changelog: 2.5...v3.0