From 57708accba6232ecc2c25da3886cda52499fefb4 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Sat, 16 Nov 2024 07:04:07 +0800 Subject: [PATCH 1/2] fix: improve error catching of injected js --- src/ext/content-scripts/entry-userscripts.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ext/content-scripts/entry-userscripts.js b/src/ext/content-scripts/entry-userscripts.js index d982ae0a..34f0214d 100644 --- a/src/ext/content-scripts/entry-userscripts.js +++ b/src/ext/content-scripts/entry-userscripts.js @@ -44,9 +44,16 @@ function triageJS(userscript) { function injectJS(userscript) { const filename = userscript.scriptObject.filename; const name = userscript.scriptObject.name; - const code = `(async () => {\n${userscript.code}\n})(); //# sourceURL=${ - filename.replace(/\s/g, "-") + usTag - }`; + const code = `\ +(async () => { + try { +// ===UserScript===start=== +${userscript.code} +// ===UserScript====end==== + } catch (error) { + console.error(error); + } +})(); //# sourceURL=${filename.replace(/[\s"']/g, "-") + usTag}`; let injectInto = userscript.scriptObject["inject-into"]; // change scope to content since strict CSP event detected if (injectInto === "auto" && (userscript.fallback || cspFallbackAttempted)) { @@ -79,7 +86,7 @@ function injectJS(userscript) { code, )(userscript.apis); } catch (error) { - console.error(`"${filename}" error:`, error); + console.error(error); } return; } From 305d912f202176fe59b2d823ca75a0a5c8422852 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Sat, 16 Nov 2024 09:09:12 +0800 Subject: [PATCH 2/2] chore: adjust error message style --- src/ext/content-scripts/entry-userscripts.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ext/content-scripts/entry-userscripts.js b/src/ext/content-scripts/entry-userscripts.js index 34f0214d..1742d606 100644 --- a/src/ext/content-scripts/entry-userscripts.js +++ b/src/ext/content-scripts/entry-userscripts.js @@ -51,7 +51,7 @@ function injectJS(userscript) { ${userscript.code} // ===UserScript====end==== } catch (error) { - console.error(error); + console.error(\`${filename.replaceAll("`", "\\`")}\`, error); } })(); //# sourceURL=${filename.replace(/[\s"']/g, "-") + usTag}`; let injectInto = userscript.scriptObject["inject-into"]; @@ -86,7 +86,7 @@ ${userscript.code} code, )(userscript.apis); } catch (error) { - console.error(error); + console.error(`${filename}`, error); } return; }