You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Press "Go back one page" in your browser (left arrow, I am using the firefox term).
The app is frozen.
Workaround
I am making my links open in a new tab but the workaround is not desirable since I have to implement a specialized Hyperlink struct for egui which is a lot of boilerplate for a link :(.
The text was updated successfully, but these errors were encountered:
When going back, the browser is not actually reloading the previous page but reuse directly an in memory cache of the page with "frozen" javascript callback / promises.
This is not supported by Bevy, I'll try to look into what can be done (short task list: check js events are forwarded by winit, and try to react to them in Bevy, maybe like for Android suspend / resume. help is welcome!).
In the meantime, you can set js event listeners on your page destroying the canvas and recreating it when the page is reloaded from the bfcache, it should restart Bevy
This was addressed by Winit in rust-windowing/winit#2851 and rust-windowing/winit#2912 and should just work for Bevy after #8745. Correct handling of the Suspended/Resumed events required of course.
Let me know if there are any remaining issues though.
Bevy version
0.11.3
Relevant system information
Running WASM on firefox on WASM:
wasm-bindgen v0.2.87
,web-sys v0.3.64
. Chromium also reproduces this issue.What went wrong
Clicking on a link and then "Go back one page" in the browser returns to a frozen bevy app on WASM.
This does not happen with, for instance, egui, so I think it is not an upstream wasm-bindgen bug (?).
The issue can be reproduced:
Workaround
I am making my links open in a new tab but the workaround is not desirable since I have to implement a specialized
Hyperlink
struct for egui which is a lot of boilerplate for a link :(.The text was updated successfully, but these errors were encountered: