feat: update @theia/monaco-editor-core to 1.108.201#17140
Merged
Conversation
be1fdc2 to
25d1e2d
Compare
packages/monaco/src/browser/markdown-renderer/monaco-markdown-renderer.ts
Outdated
Show resolved
Hide resolved
packages/plugin-ext/src/main/node/plugin-host-environment-preferences.ts
Outdated
Show resolved
Hide resolved
packages/plugin-ext/src/main/node/plugin-host-environment-preferences.ts
Outdated
Show resolved
Hide resolved
80bf244 to
f2958d5
Compare
colin-grant-work
approved these changes
Mar 13, 2026
Contributor
colin-grant-work
left a comment
There was a problem hiding this comment.
Monaco functionality appears to be working correctly 👍 .
Resolves GH-16233 - Override globalThis.navigator with undefined in plugin host and headless plugin host processes to restore the browser-detection pattern used by VS Code extensions - Add extensions.supportNodeGlobalNavigator preference (default: false) to opt in to the Node-provided navigator object - Register PluginHostNavigatorEnvironmentVariable to propagate the preference as THEIA_SUPPORT_NODE_GLOBAL_NAVIGATOR env var - Move preference schema to main/common/ so it can be shared between frontend and backend modules - Use PluginHostNavigatorState constant instead of directly injecting PreferenceService into HostedPluginProcess, which would cause async DI errors in connection-scoped containers - Add PluginHostNavigatorStateInitializer contribution to keep the state in sync with the preference value from the root container Contributed on behalf of STMicroelectronics
- Remove stale matrix.tests != 'skip' guards (no tests dimension exists in the matrix) - Drop the Node 22.x entry now that GH-16233 is resolved Contributed on behalf of STMicroelectronics
- Add DEFAULT_SUPPORTED_MONACO_VERSION to api.ts - Show Monaco editor version in the About dialog Contributed on behalf of STMicroelectronics
Resolves GH-16401 - Bump @theia/monaco-editor-core from 1.96.302 to 1.108.201 - Replace editor.experimental.preferTreeSitter array preference with per-language boolean preferences (css, typescript, ini, regex) - Update MonacoContextMenuService to expose onDidShowContextMenu and onDidHideContextMenu as property initializers matching the updated IContextMenuService interface - Add onDidShowContextMenu/onDidHideContextMenu Event.None stubs to the inline IContextMenuService override in createInline(), fixing ContentHoverController crash - Fix focus/blur for Monaco 1.108 EditContext API by querying .native-edit-context before falling back to textarea - Add stageForPreview/unstagePreview to MonacoEditor and EditorWidget so visual tab previews render correctly when editors are hidden (model is set to null) - Add MonacoLayoutService override so Monaco UI elements position relative to the Theia application shell - Add MonacoWorkspaceContextService override - Display Monaco editor version in About dialog - Remove the focus/blur workaround that manually targeted the textarea or native-edit-context element, this.editor.focus() works correctly with modern Monaco - Remove the now-unused blur() method from TextEditor interface and MonacoEditor - Add console.warn when StandaloneServices overrides had to be patched in after premature initialization, and console.error when services were already instantiated and cannot be overridden Contributed on behalf of STMicroelectronics
- Add ESM loader hooks in @theia/test-setup to handle .css imports
from @theia/monaco-editor-core ESM bundles during mocha test runs
- Fix expose-loader to use module.exports instead of this for webpack
compatibility with ESM modules, where this is undefined in arrow
function wrappers
- Move top-level const { timeout } declarations inside describe()
blocks to avoid duplicate identifier errors when files share scope
- Replace keyboard.type() with keyboard.insertText() in Playwright
tests for Monaco EditContext API compatibility
- Add TheiaMonacoEditor.typeText() static helper that handles
multi-line text (insertText for content, Enter for newlines)
- Update line-numbers selector to .margin-view-overlays .line-numbers
to match Monaco 1.108 DOM
- Add retry logic to navigator test cleanup on Windows to handle
EBUSY errors from unreleased file handles after move operations
Contributed on behalf of STMicroelectronics
f2958d5 to
f8d5101
Compare
Member
Author
|
Thanks for the review, @colin-grant-work 🙌 I had to rebase the branch and already squashed the commits into fewer ones. |
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.
What it does
Resolves GH-16401
Resolves parts of GH-10844
Resolves GH-16233
Fixes GH-16939
Uplifts @theia/monaco-editor-core from 1.96.302 to 1.108.201 and adapts the codebase to all API changes introduced in the new version.
Key changes:
globalThis.navigatorbeing defined in Node 21+ #16233)Checklist from the issue:
Notes:
@theia/monaco-editor-core - v1.108.201: https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/26240How to test
Follow-ups
Breaking changes
Attribution
Contributed on behalf of STMicroelectronics
Review checklist
nlsservice (for details, please see the Internationalization/Localization section in the Coding Guidelines)Reminder for reviewers