Client Major Changelog

Changelog for the OpenAudioMc client, reference for developers



  • Users can now choose their own language
  • Servers can now upload a custom logo, which will be used in the navbar, favicon and login page
  • The client now shows the appropriate error message when the the microphone is not available
  • The client now correctly shows the correct state whenever the forcefullyDisableMicrophone api is used (e.g. when the server denies microphone permissions)
  • Voicechat mutes from regions are now properly handled
  • The client now shows a toast when the microphone is muted by the server
  • Fixed a few instances where time sync would not work properly
  • Packets from/to the OA api now have strict processing execution timeouts and will be dropped if they take too long to process
  • Fixed a bug where the client would not properly reconnect after a network outage
  • New navbar design
  • Tabs now show which features are playing audio
  • Some web-apis are now mandatory for the client to work, and will show a warning if they are not available



  • Added a picture-in-picture popup window for voicechat (currently only supported in new chromium based browsers)
  • Hash changes now automatically prompt a client reload, except for tabs with an active session (they get a modal asking for confirmation first)
  • Toasts are now no longer partially obstructed by the navbar
  • Fixed an issue for bedrock based auth flows
  • Minor tweaks and fixes



  • Tooltips can now be dismissed
  • settings page now properly scales on mobile devices
  • text on the home screen is now readable on mobile (got cut off by decorative svg)
  • Fixed a bug causing microphone selections to not apply
  • Fixed a client crash on new firefox builds related to custom server theme colour
  • voice chat peer UI now has buttons to instantly mute/unmute others
  • it's not easier to see who's talking and who's muted
  • voice chat UI is now useable on mobile devices
  • login flow now works on mobile devices
  • tokens are now longer lived
  • Improved loading and login views
  • All views are now properly scrollable on mobile
  • Added a new development flow with integrated ngrok/qrcode system for mobile testing
  • Current volume levels are known shown in the sensitivity slider to make it easier to understand
  • Bedrock login flow with early permissions for microphone (and notifications if supported)
  • Automatic login for bedrock/mobile users (depends on network conditions)
  • Support for mobile constant media api's to prevent background sleep
  • Migrated to Vite (from CRA/webpack)
  • Tailwind is now a vite postcss build step and uses the minified compiled bin, instead the global precompiled tailwind
  • Fixed some general statemanagement issues
  • SIO has been embedded into the bundle and bumped



  • New login page
  • Redesigned loading screen
  • Redesigned onboarding
  • Redesigned home page
  • Redesigned VoiceChat settings and page
  • Redesigned debug page
  • Finally made the entire app mobile friendly



  • Default microphone selection should now be more reliable



  • Implement packet grouping for voicechat packets
  • The web-client now refuses to load and just displays an error message when Websocket, WebRTC or AudioContext is unsupported by the browser
  • Close WEB-347 - inconsistent behaviour of the AudioContext



  • Added support for the mini client view
  • The navbar will now hide itself if there's only one page, meaning that it'll be hidden in simple view and only re-appear when the debug or voicechat windows are enabled



  • Added support for hidden voicechat peers



  • Made the login, home, loading and onboarding UI mobile friendly



  • Fixed a bug where some sounds would start muted and fade in, instead of playing at full volume. This only affects
    • VoiceChat Chimes
    • VoiceChat Mute/Unmute



  • Changed visual style of the login and loading screen, just looks less depressing overall
  • The client now forces itself to reload whenever a fatal network error occurs, this should fix the issue where the client would get stuck on the loading screen



  • Pipeline changes to conform with some updates in Cloudflare



  • Add a tooltip next to the voicechat settings that only shows up when the voicechat has been connected for at least 10 seconds and the microphone activated fewer than 4 times
  • The noise gate setting got a reworded description and got moved to the top of the voicechat settings
  • Voicechat settings are now temporarily mirrored to the settings tab to research the best place for them



  • Fixed a bug where ambiance sound wouldn't always play (media load tick registry)



  • Add version diff check



  • Small change to how build numbers work. Minors are now incremented on every notable change of the client, and seen as release versions. Patches (or revisions) are incremented everytime npm run or npm build are run, and are not seen as release versions. This is to make it easier to track changes in the client, and to make it easier to identify which version is running on the server or if there have been alterations since release. This also means that the production build at will always be one revision ahead compared to git, because it builds a new version in the pipeline. Custom deployments or minor development changes will therefore always be identifiable.



  • Swap version numbers to make format a little more conventional
  • Add a warning message on the loading screen if login takes more than 5 seconds. This was 10 seconds previously, and only triggered on some opera versions (now also covers GX)



  • Only bump build numbers on increment, not on every build / deployment
  • Add upgrade modal for legacy users
  • Discord account linking fixes
  • Minor changes to handling for ex-patreons



  • Add safety checks for fade durations of 0ms, prevent deadlocks due to JS scheduler
  • Add link to this page in the client



  • Disable sourcemaps
  • Handle errors for peer additions
  • Standardize error serialization



  • Minor changes to croatian translation
  • Default to en-gb in dev mode



  • Merge redstone speakers
  • Add media flags for loop and pickup behaviour in speakers



  • Kick to homepage (page reload) instead of soft termination upon logout (fixes mic permissions and retry loop)
  • Fix react render crash on debug page
  • Fix audio blinking (file not muted before fading/timecodes finish loading)



  • Speakers default to volume 100 on channel level, fix spatial audio volume



  • Translatable navbar
  • Force react builds to default to relative paths
  • Rewrite fading logic to be more robust and readable
  • Allow force exponential flag for individual panner nodes within the location tracker



  • Use statewatcher for media to make sure loadingstate is at least 2 when initializing timecodes (works around browser inconsistent behaviour)



  • Fix surround sound button not updating its state in the advanced voice settings
  • Add debug log for media loading state


  • These changelogs don't go all the way back to the beginning of the react rewrite, but start at the initial 6.8 release.
  • The changelogs are not complete, they only contain the most important changes. Smaller patches are not included.
  • Versions are representative as deployed on, externally hosted versions may differ.