Daniel P H Fox
Daniel P H Fox
Unblocking this. It seems like Roblox haven't moved to resolve these issues, so I'd be interested in pursuing this.
Since discovering that ZIndex can control batching without the library having to add hardcoded behaviour for this, is it necessary for us to account for this detail ourselves?
I mentioned this in the PR, but I'm going to defer on this for a while until we know whether Roblox themselves plan to address this soon.
Unblocking this; see #298.
It would also be good to do ablation to compare against a baseline implementation which does not reuse scopes in this manner.
For a concrete example of what this would do: ```Lua local badCode = scope:Computed(function() error("Oh no") end) local foo = peek(badCode) --> Error in callback: Oh no (ID: callbackError) ```
This would significantly reduce the use of `logErrorNonFatal`, which is notorious for being hard to handle due to being thrown in another thread for the sole purpose of not unwinding...
A consideration here is that we need to be able to store information about the original location of the error, even if errors are now being thrown from a different...
This also ties into developer experience around lazy execution, specifically around how intuitive it is to throw errors at different points in the execution of the code. Under eager execution,...
An important consequence of this change would be that `peek()` becomes a fallible function. This makes the implementation of many state objects fallible immediately, which would be dangerous to the...