[6.x] Refresh CodeMirror instance when switching tabs#14199
Merged
jasonvarga merged 2 commits into6.xfrom Mar 11, 2026
Merged
Conversation
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.
This pull request fixes an issue where the Code field doesn't render correctly when placed in a tab other than the main one. The field appears empty when switching to the tab, and focusing into it causes the content to be superimposed on the line numbers.
This was happening because CodeMirror initializes when the component is mounted, but if the element is hidden (in a non-active tab), it can't calculate its dimensions correctly. When the tab becomes visible, CodeMirror doesn't know it needs to recalculate its layout.
This PR fixes it by adding an
IntersectionObserverto detect when the editor becomes visible and calling refresh() on the CodeMirror instance to recalculate its dimensions. It also adds proper cleanup of the CodeMirror instance inonBeforeUnmount.Before
CleanShot.2026-03-10.at.15.26.16.mp4
After
CleanShot.2026-03-10.at.15.26.48.mp4
Fixes #14194