pierrejeambrun opened a new issue, #67342:
URL: https://github.com/apache/airflow/issues/67342
### Symptom
The browser console is flooded with repeated errors whenever a Monaco
editor mounts (XComs page, Audit Log, DAG code page, etc.), in **both
dev and production** builds:
\`\`\`
stableEditorScroll-…:11511 Uncaught (in promise) TypeError: Cannot read
properties of undefined (reading 'toUrl')
at FileAccessImpl.toUri (stableEditorScroll-…:11511:34)
at FileAccessImpl.asBrowserUri (stableEditorScroll-…:11484:20)
at editor.api-…:9016:45
at new Promise (<anonymous>)
at EditorSimpleWorker.\$loadForeignModule (editor.api-…:9011:10)
\`\`\`
The editor still renders and basic features work because of Monaco's
silent fall-back paths, but every editor instance produces a handful of
these unhandled rejections.
### Root cause
\`EditorSimpleWorker.\$loadForeignModule\` resolves the foreign module
URL through \`FileAccess.asBrowserUri(moduleId)\`, which ends up at
\`FileAccessImpl.toUri\`. That method takes a second argument
\`moduleIdToUrl\` and calls \`moduleIdToUrl.toUrl(uriOrModule)\`. Monaco's
CDN/AMD build supplies a \`require\` object with a \`toUrl\` method as
\`moduleIdToUrl\`; the local-ESM build introduced in #66647 does not — so
\`moduleIdToUrl\` is undefined and \`.toUrl\` throws.
The errors were latent before but became visible recently: with PR
#67316 fixing the dev-mode worker URL (via \`server.origin\`), workers
actually load now, so they reach the foreign-module loader and trip on
this immediately. In production they have always been firing too,
just less noticeably because no one was looking.
### Possible fixes
- Provide a \`foreignModuleFactory\` so \`\$loadForeignModule\` never falls
through to the AMD-require path; this is the approach the
monaco-editor docs recommend for non-AMD setups.
- Or polyfill \`globalThis.require = { toUrl: (id) => new URL(id,
location.href).toString() }\` inside the worker bootstrap.
Either fix belongs in \`MonacoEditor/configureMonaco.ts\` (or a worker
init shim alongside it), not in \`RenderedJsonField.tsx\`.
Related: #67316 (the expand/collapse fix where this issue surfaced).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]