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
What is the expected interactions of signals across realms, whether the callable boundary of ShadowRealms is involved or not.
In particular:
Would a watcher from one realm attempting to read during its notify callback a signal from another realm throw an error like it would for a signal from the same realm? Aka is it a cross realm brand check on signals?
What would subtle.currentComputed() return while executing a function in a realm different from where the "current computed" originated.
In particular, if the function is from a ShadowRealm, the callable boundary precludes observing the identity of objects from other realms. Similarly if the current computed is from a ShadowRealm, the callable boundary precludes observing its identity from another other realms, regardless whether that other realm is a ShadowRealm or "legacy" realm.
It's technically possibly to construct dependency graphs where a computed signal from one realm depends on a signal from another realm, even if one of the realm is a ShadowRealm (you pass through the callable boundary a get function "bound" to its signal). How would these dependencies be exposed without violating the callable boundary invariants.
The text was updated successfully, but these errors were encountered:
My first thought is, to stay conservative, we should make tracked reads throw when the current computed is from a different Realm. This will ensure that Realms do not have entangled dependency graphs (which, in the case of ShadowRealms, would give us something a bit unworkable when it comes to introspection).
What is the expected interactions of signals across realms, whether the callable boundary of ShadowRealms is involved or not.
In particular:
subtle.currentComputed()
return while executing a function in a realm different from where the "current computed" originated.get
function "bound" to its signal). How would these dependencies be exposed without violating the callable boundary invariants.The text was updated successfully, but these errors were encountered: