16:33 | <Steve Hicks> | the same lifecycle event might be called without a JS context (from the parser directly loading an html file after a blocking script which registers the element) or from one (calling a constructor or setting innerhtml) Exactly - I think we may have opposite understandings of what "zalgo" means in this case. We agree on the facts that the same callback may be called from either a JS or a non-JS context, but we differ on our understandings of what it means to not release zalgo given that fact. It sounds like you're saying that the callback's execution context should be stable/predictable independent of the circumstances that triggered it, while I'm saying that the relationship between the callback's execution context and the circumstances that triggered it should be stable. I don't think the former is actually viable, because the only thing that's stable is that there is a snapshot, but the actual snapshot is still unpredictable. One point of clarification - my proposal would allow escaping your calling environment and getting access to the HostGetTopLevelAsyncContextSnapshot if you can listen to an event that you know will get called from non-JS. Is that a problem? I still see it as more consistent, so if this does pose a problem, them I'm at a bit of a loss as to the correct way to deal with it. |
19:36 | <littledan> | I don’t see how falling back to the top level context (or a null context) makes the relationship stable |
19:37 | <littledan> | I am not claiming that Zalgo is the most important thing, just that I don’t see a different in Zalgo-ness between “fall back to top level” vs “fall back to registration time”. In either case you will be tempted to just use that snapshot, and it will be missing the information you are hoping for some of the time |
21:06 | <littledan> | let's see if we can have a call and discuss this soon. Sorry I often have conflicts with my work schedule with the regular asynccontext call. |
21:07 | <littledan> | maybe inviting Peter Burns |
21:07 | <littledan> | or maybe just us, either way |