From d582c9c8c0d6dc1b23d054343061ceef7e7b5fdb Mon Sep 17 00:00:00 2001 From: silverwind Date: Thu, 12 Feb 2026 21:59:13 +0100 Subject: [PATCH] Adapt monaco error matching pattern to recent webpack config change (#36533) Signed-off-by: silverwind --- web_src/js/bootstrap.test.ts | 18 +++++++++++++++++- web_src/js/bootstrap.ts | 11 +++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/web_src/js/bootstrap.test.ts b/web_src/js/bootstrap.test.ts index 2938678027..9d163ebbb8 100644 --- a/web_src/js/bootstrap.test.ts +++ b/web_src/js/bootstrap.test.ts @@ -1,4 +1,4 @@ -import {showGlobalErrorMessage} from './bootstrap.ts'; +import {showGlobalErrorMessage, shouldIgnoreError} from './bootstrap.ts'; test('showGlobalErrorMessage', () => { document.body.innerHTML = '
'; @@ -10,3 +10,19 @@ test('showGlobalErrorMessage', () => { expect(document.body.innerHTML).toContain('>test msg 2<'); expect(document.querySelectorAll('.js-global-error').length).toEqual(2); }); + +test('shouldIgnoreError', () => { + for (const url of [ + 'https://gitea.test/assets/js/monaco.b359ef7e.js', + 'https://gitea.test/assets/js/monaco-editor.4a969118.worker.js', + 'https://gitea.test/assets/js/vendors-node_modules_pnpm_monaco-editor_0_55_1_node_modules_monaco-editor_esm_vs_base_common_-e11c7c.966a028d.js', + ]) { + const err = new Error('test'); + err.stack = `Error: test\n at ${url}:1:1`; + expect(shouldIgnoreError(err)).toEqual(true); + } + + const otherError = new Error('test'); + otherError.stack = 'Error: test\n at https://gitea.test/assets/js/index.js:1:1'; + expect(shouldIgnoreError(otherError)).toEqual(false); +}); diff --git a/web_src/js/bootstrap.ts b/web_src/js/bootstrap.ts index adad927af6..ca38ac874e 100644 --- a/web_src/js/bootstrap.ts +++ b/web_src/js/bootstrap.ts @@ -8,12 +8,15 @@ import {html} from './utils/html.ts'; // This file must be imported before any lazy-loading is being attempted. window.__webpack_public_path__ = `${window.config?.assetUrlPrefix ?? '/assets'}/`; -function shouldIgnoreError(err: Error) { - const ignorePatterns = [ - '/assets/js/monaco.', // https://github.com/go-gitea/gitea/issues/30861 , https://github.com/microsoft/monaco-editor/issues/4496 +export function shouldIgnoreError(err: Error) { + const ignorePatterns: Array = [ + // https://github.com/go-gitea/gitea/issues/30861 + // https://github.com/microsoft/monaco-editor/issues/4496 + // https://github.com/microsoft/monaco-editor/issues/4679 + /\/assets\/js\/.*monaco/, ]; for (const pattern of ignorePatterns) { - if (err.stack?.includes(pattern)) return true; + if (pattern.test(err.stack ?? '')) return true; } return false; }