fix: data-source-* attributes in HTML code view #2444
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For background, we use a custom JSX runtime that, if there is a certain boolean as true in the
globalThis
, it then adds indata-source-*
properties pointing to the filename and line of the HTML element. We render multiple times, once with this just to be able to interpolate where errors happen, and another time without.The issues were being caused by the fact that we were rendering in “parallel” with
Promise.all
, which made that global value be enabled when it shouldn't. To fix this I've just changed it to not usePromise.all
, which didn't have as much of a performance impact as I expected.Summary by cubic
Fixes data-source-* attributes incorrectly appearing in the HTML code view by running email renders sequentially. This avoids the global JSX flag leaking across parallel renders.