🪲 Remove a source of client exceptions #5812
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.
A lot of client exceptions were originating from the embedded editor, trying to call
removeAttribute()
on an object that happened to benull
.The reason was an assertion that the result of
getElementById()
would never benull
, where in fact, it was.Replace with a null coalescing function call
?.removeAttribute()
so that the function call falls to the floor if the element doesn't exist.How to test
Visit http://localhost:8080/embedded/1/?lang=nl&run=true&readOnly=false&fullWidth=false&program=IyBTY2hyaWpmIGpvdXcgY29kZSBoaWVy%22 and run any program. Observe that no exceptions get logged to the JavaScript console.
(cc @jpelay, I spied you here 😛 this is why
!
is dangerous, even you think this can never happen there's always a case you didn't think of -- better to program defensively or fail real hard with an explicit error message)