v1.30.0
WorkAdventure 1.30.0 is now available! In the continuity of 1.29.x, this release includes life-improving features
and bug fixes. Read below for the full list of changes.
New Features
Install WorkAdventure as a Progressive Web App (PWA) screen
WorkAdventure now has a dedicated screen to guide users through the installation of WorkAdventure as a
Progressive Web App (PWA), both on computer and phones. This allows users to easily install WorkAdventure
on their device and access it like a native app.
The ability to install WorkAdventure as a PWA has existed for many years, but it was not very discoverable.
With this new screen, we hope to make it easier for users to take advantage of the PWA features.
View pull requests
* Create page to install pwa by @gparant in https://github.com//pull/5867 * Implement new UI and UX for PWA by @gparant in https://github.com//pull/5928 * refactor: compute PWA install menu eligibility once and expose via store by @ydiarra in https://github.com//pull/5915 * Rewording the advantages of the PWA install screen by @moufmouf in https://github.com//pull/5938Already connected warning message
If you try to join a map while you already have an active session in that map, you will now receive a warning message.
This is useful to prevent users from accidentally opening multiple sessions of the same map, which can lead to confusion.
This is just a warning message. You can still choose to open a new session if you want to.
View pull requests
* Create a notification to inform the duplicate user connected by @gparant in https://github.com//pull/5872Scripting API improvements
You can now use the setStatus function in the scripting API to dynamically set the status of a user.
A big thank you to our new contributor @beingeek for implementing this feature.
View pull requests
* Added setStatus event from map scripting by @beingeek in https://github.com//pull/5841Improvements
Messaging improvements
Particular attention has been given to improving the messaging experience in this release. The following improvements have been made:
- Better unread notifications counter on the chat icon
- Support for encrypted image rendering in Matrix rooms
- Better code block rendering in chat messages
View pull requests
* feat(matrix) : Handle unread notifications event by @ydiarra in https://github.com//pull/5896 * fix(chat): support encrypted image rendering in matrix rooms by @ydiarra in https://github.com//pull/5905 * feat(chat): show notifications when receiving a new room invitation by @ydiarra in https://github.com//pull/5771 * Adjust messages layout to prevent overflow by @angerenage in https://github.com//pull/5925Notify users when a map is deleted
When a map is deleted, all users currently in that map will now receive a notification informing them that the map has
been deleted and that they will be disconnected.
View pull requests
* Kick out all users of a map when it is deleted by @angerenage in https://github.com//pull/5890Better detection of audio context state
When a browser loads a page, the page cannot play any sound until the user has interacted with the page. This is a security
feature implemented by browsers to prevent unwanted sounds from playing without the user's consent.
For WorkAdventure, this can be a problem because we need to play sounds (for instance, when someone comes and see you)
and we want to be able to do so even on startup.
The rules implemented by browsers are quite complex. For instance, PWAs are not impacted, and frequently visited pages
are not impacted either.
In this release, we have improved our detection of the audio context state to better handle those cases and be able to play
sounds as soon as possible. If we detect that your browser cannot play a sound on startup, and if you have not
enabled desktop notifications, we will automatically put you in "Do not disturb" mode to prevent the other users from
thinking that you are ignoring them. As soon as you interact with the page and the audio context is unlocked, you will
be taken out of "Do not disturb" mode.
Installing WorkAdventure as a PWA is a great way to ensure that the audio context is unlocked on startup, so we highly
recommend it!
View pull requests
* fix: audio context video automatically mute / unmute by @gparant in https://github.com//pull/5903 * Implement media track status management for better status messages by @angerenage in https://github.com//pull/5939 * Rewording the "sound blocked" popup by @moufmouf in https://github.com//pull/5940Better detection of camera and microphone state
We now have a better detection of the camera and microphone state, including whether the user has granted permission to
use them or not. This allows us to provide more accurate messages when something needs to be done to grant camera / microphone access.
In particular, we can now make a distinction between "You don't have a microphone" and "Your microphone is not working because
you have not granted permission to use it". This should help users understand what they need to do to fix the issue.
Other improvements
A big number of improvements have been made in this release, including:
- Improved shading effect positioning when entering a meeting room
- Improved UI and UX in the participants menu and in the personal desk claiming process
- Improved path finding: the shortest path now avoids walking through private desks, meeting rooms, etc...
- Easier unblocking of blocked users
View pull requests
* refactor: improve distance calculation and shading in DarkenOutsideAr… by @angerenage in https://github.com//pull/5883 * Improve participant menu by @gparant in https://github.com//pull/5884 * Improve UI and UX for already claim and claim personal desk by @gparant in https://github.com//pull/5881 * Improve path finding to move on the room by @gparant in https://github.com//pull/5886 * Improve design for woka popup by @gparant in https://github.com//pull/5891 * improve manage block user by @gparant in https://github.com//pull/5904 * Add metadata with room URL to BBB meetings by @wpramio in https://github.com//pull/5908 * update: improve UI and UX of suggest room by @gparant in https://github.com//pull/5922 * improve picture in picture by @gparant in https://github.com//pull/5935Code improvements
Minimum browser version update
WorkAdventure 1.30 targets more modern browsers. As a result, we have removed some legacy code and polyfills that were
only necessary for older browsers. This has allowed us to simplify the codebase and improve performance.
We previously supported Safari iOS 15.0 and the new minimum version is now iOS 15.4+. In practice, this represents less than 0.05%
of users so the impact should be minimal.
- fix(tests): ensure structuredClone is correctly disabled in browser support test by @ydiarra in #5902
- Removing Vite legacy build by @moufmouf in #5914
Code cleanup
View pull requests
* fix(CI) : run pretty by @ydiarra in https://github.com//pull/5898 * Migrate uploader tests from LocalStack to MinIO by @moufmouf in https://github.com//pull/5912Bug fixes
View pull requests
* improve: open channel main panel to accept invite by @gparant in https://github.com//pull/5910 * Fixing play crash when a back stops responding by @moufmouf in https://github.com//pull/5907 * refactor(play): centralize network viewport pipeline and align outbound paths by @ydiarra in https://github.com//pull/5911 * Fixing map-storage discrepancies by @moufmouf in https://github.com//pull/5887 * Fix DOM element drift when zooming out by @angerenage in https://github.com//pull/5909 * Fix Woka menu not updating when switching user selection by @angerenage in https://github.com//pull/5921 * fix(lint) : remove unused muteAudio variable by @ydiarra in https://github.com//pull/5927 * fix: error picture in picture with livekit by @gparant in https://github.com//pull/5931 * Fix mediastore error by @gparant in https://github.com//pull/5933New Contributors
Full Changelog: v1.29.3...v1.30.0