Skip to content

RDEV-9911 - Shadow dom mouse leave - #53

Merged
OS-josesoares merged 1 commit into
main-osfrom
ide/bugfix/RDEV-9911-shadow-dom-mouse-leave
Oct 23, 2026
Merged

OS-josesoares merged 1 commit into
main-osfrom
ide/bugfix/RDEV-9911-shadow-dom-mouse-leave

Conversation

@OS-josesoares

@OS-josesoares OS-josesoares commented Oct 23, 2026 •

Copy link
Copy Markdown

Monaco detects that the mouse has left the editor with a listener on document that treats !viewDomNode.contains(e.target) as a leave (vscode microsoft#138789). When the editor is inside a shadow root, as in ODC Studio and Service Studio where every Monaco editor is hosted in a ReactView ViewFrame with an open shadow root, e.target seen from document is the shadow host, so every mouse move inside the editor fires a fake mouse leave. The hover controller hides the hover on that leave, so hovers never open when the mouse rests and the CSS editor's color picker closes as soon as the mouse moves toward it (RDEV-9911). Checking the original target, e.composedPath()[0], as proposed upstream in vscode PR microsoft#166240, fixes this for open shadow roots and still detects real exits from the editor; the PR also bumps monaco-editor-core to 0.55.1-os2 and adds a regression test, which no pipeline runs, so run it by hand after upstream syncs.

@OS-josesoares OS-josesoares self-assigned this Oct 23, 2026
@OS-josesoares
OS-josesoares requested a review from tbragaf October 23, 2026 15:00
@OS-josesoares
OS-josesoares merged commit a8bd049 into main-os Oct 23, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants