For each requested animation frame (RAF) in Phaser, Phaser calls the "update" method, then the "render" method of each scenes.
The "render" method takes some time (and energy) to perform the rendering.
The fact is we probably don't need to call "render" if nothing changed on the screen (which happens most of the frames in a typical WorkAdventure game).
This commit is therefore overloading the "Game" class of Phaser to add a "dirty" flag.
Scenes can now add a "isDirty()" method. If all displayed scenes are pristine (not dirty), Phaser will skip rendering the frame altogether.
This saves "a lot" of energy, resulting in laptops that are not overheating when using WorkAdventure \o/
This feature allows to add a "jitsiUrl" property in the map.
As a result, you can use for a given Jitsi room a custom instance of Jitsi.
Using "jitsiUrl" will only work with public Jitsi instances (authentication is not supported when "jitsiUrl" property is provided)
The Jitsi external_api.js script is now lazily loaded.
Adds a first version of an API to communicate between an iFrame opened by WorkAdventure and WorkAdventure itself.
The first API method is a method allowing to add messages in the chat, from the iFrame.
Comes with a test file.
To be honest, I'm not sure what it does exactly (it is supposed to prevent antialiasing and it is rounding coordinates for rendering sprites, but I don't see a difference yet.
This code is broken since Phaser 3.50 and we are facing weird issues with MacOS memory leaks and crashes.
Removing this code will remove one potential suspect.
Recently, some Macs have been crashing running WorkAdventure.
Hard to say if this is related to Phaser 3.50 upgrade or to the new MacOS version.
It happens mostly on Mac Air and might be related to WebGL rendering.
This commit allows to switch to CANVAS renderer by adding `?phaserMode=canvas` in the URL
The switch to Phaser 3.50 introduced a bug when WebGL is not available in a browser.
The changes in this commit prevent calls to the WebGL pipeline if the pipeline is not available.