-
Notifications
You must be signed in to change notification settings - Fork 864
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fullscreen Detection broken #6477
Comments
Hi @netAction does this happen when you publish on gd.games too? |
Yes the bug is reproducable in gd.games. https://gd.games/netaction/fullscreen-bug |
Thanks, that's very helpful and detailed, we're probably missing an event not being listened properly or using a wrong logic |
This is the function being used in the runtime to set the full screen (it's quite old), saving the variable in the state. GDevelop/GDJS/Runtime/pixi-renderers/runtimegame-pixi-renderer.ts Lines 390 to 446 in 5c66623
There are indeed no listeners on wether the full screen has been left. |
Is there an existing issue for this?
Describe the bug
Affects: HTML5 export.
Both fullscreen detection and fullscreen switch methods are broken when the user leaves fullscreen on Chrome/Windows via Esc key or on Chrome/Android via < button or on Safari/IOs via swipe down.
After executing the Activate fullscreen action, GDevelop thinks it is in fullscreen. Even if it is not, because fullscreen has been left manually. Then running Activate fullscreen again might crash. And worse, the condition The game is in fullscreen says true but it is not.
The Javascript code if (document.fullscreenElement != null) returns the correct value on all three browsers, no matter if the fullscreen has been closed via Activate fullscreen action or via the intended browser way.
Minimal project for reproduction:
Steps to reproduce
GDevelop platform
Desktop
GDevelop version
5.3.195
Platform info
IDE: GDevelop via Microsoft Store on Windows 11
Browser: Chrome/Windows, Chrome/Android, Safari/IOs
Additional context
No response
The text was updated successfully, but these errors were encountered: