From 9e2fcb1c0c5019169a787b1edf3f24a8ab79202e Mon Sep 17 00:00:00 2001 From: silverwind Date: Sat, 9 Mar 2024 02:29:20 +0100 Subject: [PATCH 1/5] Downgrade monaco-editor and lock a few dependencies Fixes: https://github.com/go-gitea/gitea/issues/29414 --- package-lock.json | 8 ++++---- package.json | 2 +- updates.config.js | 7 +++++++ web_src/js/features/codeeditor.js | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 updates.config.js diff --git a/package-lock.json b/package-lock.json index 6a6eb4b947836..79685e0cdf005 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "mermaid": "10.8.0", "mini-css-extract-plugin": "2.8.1", "minimatch": "9.0.3", - "monaco-editor": "0.46.0", + "monaco-editor": "0.44.0", "monaco-editor-webpack-plugin": "7.1.0", "pdfobject": "2.3.0", "postcss": "8.4.35", @@ -8904,9 +8904,9 @@ } }, "node_modules/monaco-editor": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.46.0.tgz", - "integrity": "sha512-ADwtLIIww+9FKybWscd7OCfm9odsFYHImBRI1v9AviGce55QY8raT+9ihH8jX/E/e6QVSGM+pKj4jSUSRmALNQ==" + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.44.0.tgz", + "integrity": "sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q==" }, "node_modules/monaco-editor-webpack-plugin": { "version": "7.1.0", diff --git a/package.json b/package.json index d5e8170228c8b..6c6a9171ff752 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "mermaid": "10.8.0", "mini-css-extract-plugin": "2.8.1", "minimatch": "9.0.3", - "monaco-editor": "0.46.0", + "monaco-editor": "0.44.0", "monaco-editor-webpack-plugin": "7.1.0", "pdfobject": "2.3.0", "postcss": "8.4.35", diff --git a/updates.config.js b/updates.config.js new file mode 100644 index 0000000000000..ec77382a2a627 --- /dev/null +++ b/updates.config.js @@ -0,0 +1,7 @@ +export default { + exclude: [ + 'monaco-editor', // https://github.com/microsoft/monaco-editor/issues/4325 + '@mcaptcha/vanilla-glue', // breaking changes in rc versions + 'eslint-plugin-array-func', // need to migrate to eslint flat config first + ], +}; diff --git a/web_src/js/features/codeeditor.js b/web_src/js/features/codeeditor.js index fceb2f7620e9e..9a781567470e8 100644 --- a/web_src/js/features/codeeditor.js +++ b/web_src/js/features/codeeditor.js @@ -11,7 +11,7 @@ const baseOptions = { guides: {bracketPairs: false, indentation: false}, links: false, minimap: {enabled: false}, - occurrencesHighlight: 'off', + occurrencesHighlight: false, // change to 'off' in 0.45.0 or higher overviewRulerLanes: 0, renderLineHighlight: 'all', renderLineHighlightOnlyWhenFocus: true, From 676a823d0d8219cd6d86e7bbe624a957f744874d Mon Sep 17 00:00:00 2001 From: silverwind Date: Sat, 9 Mar 2024 03:13:45 +0100 Subject: [PATCH 2/5] Update updates.config.js --- updates.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/updates.config.js b/updates.config.js index ec77382a2a627..ffece49a6ae6c 100644 --- a/updates.config.js +++ b/updates.config.js @@ -1,7 +1,7 @@ export default { exclude: [ - 'monaco-editor', // https://github.com/microsoft/monaco-editor/issues/4325 '@mcaptcha/vanilla-glue', // breaking changes in rc versions 'eslint-plugin-array-func', // need to migrate to eslint flat config first + 'monaco-editor', // https://github.com/microsoft/monaco-editor/issues/4325 ], }; From 21bef3aeccf1ac9c25a301bdad5c3ea0e6074b1c Mon Sep 17 00:00:00 2001 From: silverwind Date: Sat, 9 Mar 2024 16:19:16 +0100 Subject: [PATCH 3/5] add error filter and upgrade monaco again --- package-lock.json | 8 ++++---- package.json | 2 +- updates.config.js | 1 - web_src/js/bootstrap.js | 8 ++++++++ 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 79685e0cdf005..6a6eb4b947836 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "mermaid": "10.8.0", "mini-css-extract-plugin": "2.8.1", "minimatch": "9.0.3", - "monaco-editor": "0.44.0", + "monaco-editor": "0.46.0", "monaco-editor-webpack-plugin": "7.1.0", "pdfobject": "2.3.0", "postcss": "8.4.35", @@ -8904,9 +8904,9 @@ } }, "node_modules/monaco-editor": { - "version": "0.44.0", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.44.0.tgz", - "integrity": "sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q==" + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.46.0.tgz", + "integrity": "sha512-ADwtLIIww+9FKybWscd7OCfm9odsFYHImBRI1v9AviGce55QY8raT+9ihH8jX/E/e6QVSGM+pKj4jSUSRmALNQ==" }, "node_modules/monaco-editor-webpack-plugin": { "version": "7.1.0", diff --git a/package.json b/package.json index 6c6a9171ff752..d5e8170228c8b 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "mermaid": "10.8.0", "mini-css-extract-plugin": "2.8.1", "minimatch": "9.0.3", - "monaco-editor": "0.44.0", + "monaco-editor": "0.46.0", "monaco-editor-webpack-plugin": "7.1.0", "pdfobject": "2.3.0", "postcss": "8.4.35", diff --git a/updates.config.js b/updates.config.js index ffece49a6ae6c..df2548cf5a47d 100644 --- a/updates.config.js +++ b/updates.config.js @@ -2,6 +2,5 @@ export default { exclude: [ '@mcaptcha/vanilla-glue', // breaking changes in rc versions 'eslint-plugin-array-func', // need to migrate to eslint flat config first - 'monaco-editor', // https://github.com/microsoft/monaco-editor/issues/4325 ], }; diff --git a/web_src/js/bootstrap.js b/web_src/js/bootstrap.js index c0047b0ac2418..698d17fa3675b 100644 --- a/web_src/js/bootstrap.js +++ b/web_src/js/bootstrap.js @@ -6,10 +6,18 @@ // This file must be imported before any lazy-loading is being attempted. __webpack_public_path__ = `${window.config?.assetUrlPrefix ?? '/assets'}/`; +const filteredErrors = new Set([ + 'getModifierState is not a function', // https://github.com/microsoft/monaco-editor/issues/4325 +]); + export function showGlobalErrorMessage(msg) { const pageContent = document.querySelector('.page-content'); if (!pageContent) return; + for (const filteredError of filteredErrors) { + if (msg.includes(filteredError)) return; + } + // compact the message to a data attribute to avoid too many duplicated messages const msgCompact = msg.replace(/\W/g, '').trim(); let msgDiv = pageContent.querySelector(`.js-global-error[data-global-error-msg-compact="${msgCompact}"]`); From 429d89f79e59cc8d946d2459ca06c6c6c41d4e5a Mon Sep 17 00:00:00 2001 From: silverwind Date: Sat, 9 Mar 2024 16:20:09 +0100 Subject: [PATCH 4/5] revert change --- web_src/js/features/codeeditor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_src/js/features/codeeditor.js b/web_src/js/features/codeeditor.js index 9a781567470e8..fceb2f7620e9e 100644 --- a/web_src/js/features/codeeditor.js +++ b/web_src/js/features/codeeditor.js @@ -11,7 +11,7 @@ const baseOptions = { guides: {bracketPairs: false, indentation: false}, links: false, minimap: {enabled: false}, - occurrencesHighlight: false, // change to 'off' in 0.45.0 or higher + occurrencesHighlight: 'off', overviewRulerLanes: 0, renderLineHighlight: 'all', renderLineHighlightOnlyWhenFocus: true, From b67a929c18664806d930c1d78b90d9d9c2f93695 Mon Sep 17 00:00:00 2001 From: silverwind Date: Sat, 9 Mar 2024 16:20:49 +0100 Subject: [PATCH 5/5] remove unrelated update.config.js change --- updates.config.js | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 updates.config.js diff --git a/updates.config.js b/updates.config.js deleted file mode 100644 index df2548cf5a47d..0000000000000 --- a/updates.config.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - exclude: [ - '@mcaptcha/vanilla-glue', // breaking changes in rc versions - 'eslint-plugin-array-func', // need to migrate to eslint flat config first - ], -};