eternagame / EternaJS

Eterna game/RNA design interface
Other
12 stars 10 forks source link

Ensure error dialog is displayed if error is encountered in update loop #776

Closed luxaritas closed 2 months ago

luxaritas commented 2 months ago

Summary

Previously, in some cases (eg, during puzzle load or during fold processing) unhandled errors would cause the app to freeze without displaying the error (or allowing the possibility to try continuing).

Implementation Notes

The issue was that if the error was thrown as part of the update loop, which is initially triggered by the Pixi ticker's update, and so since the ticker update function is interrupted, the next frame is never queued (and so we never do the mode transition, animate in the dialog, or otherwise keep updating).