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
Obviously logic already executed in the client code can not be rolled back (eg. if (ImGui::Button) ++my_var;) but that really doesn't matter. As soon as the error is repaired the UI will correctly reflect those changes anyway.
While not a critical feature to have I wonder how hard it would be to implement on top of the current design?
The text was updated successfully, but these errors were encountered:
Linking to #1651. Could you copy your exact post in #1651 and I'll merge the issues?
We'd be to be very specific about what use case exactly we are trying to fix/rollback.
Let's also be clear that we are never going to be able to correct 100% of the bad use case, nor prevent intentionally malicious users from crashing your app or messing up with your state.
But I agree that if we can fix 90% of the common use case that would be progress for any users of scripting language.
Hello,
Context: Our editor can be extended using plugins. Plugin hot-reload+ImGui is extremely fast to iterate with.
Problem: Unfortunately API misuses are really ruining our party. These come in two flavors:
End
orEndChild
call).Both usually end with a C++ assertion being thrown which is less than ideal.
Solution?: Both scenarios can be adressed in the same manner but solving the first one might be more work.
Handling scenario 2. could look something like:
Script execution failure was reported by the client code but that doesn't cover API misuse.
The ideal version would validate the untrusted section on exit and roll it back if it did not pass.
Obviously logic already executed in the client code can not be rolled back (eg.
if (ImGui::Button) ++my_var;
) but that really doesn't matter. As soon as the error is repaired the UI will correctly reflect those changes anyway.While not a critical feature to have I wonder how hard it would be to implement on top of the current design?
The text was updated successfully, but these errors were encountered: