Fix stale bounds leaking into ComputedBoundsAction after SVG export#542
Merged
Conversation
The HiddenBoundsUpdater collects bounds data during every hidden rendering, but postUpdate only cleaned it up when responding to a RequestBoundsAction. Hidden renderings with other causes (e.g. SVG exports) left stale entries behind that were included in the next ComputedBoundsAction, referencing elements that may no longer exist. Remote diagram servers reject such updates (observed downstream in GLSP, see eclipse-glsp/glsp#1717). - Always reset the collected bounds data in postUpdate, regardless of the rendering cause or errors during the bounds computation - Add regression test for the export-then-update scenario Fixes #541 Signed-off-by: Tobias Ortmayr <tortmayr@eclipsesource.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Reset the collected bounds data after every hidden rendering, so renderings that
don't compute bounds (e.g. SVG exports) no longer leak stale entries into the
next
ComputedBoundsAction.Fixes #541