diff --git a/ts/packages/agents/video/src/videoActionHandler.ts b/ts/packages/agents/video/src/videoActionHandler.ts
index 162216b21..b05562d77 100644
--- a/ts/packages/agents/video/src/videoActionHandler.ts
+++ b/ts/packages/agents/video/src/videoActionHandler.ts
@@ -198,7 +198,7 @@ function createVideoPlaceHolder(
container.innerText = "❌ Failed to retrieve video content.";
}
} else {
- container.innerHTML = "
❌ Video generation failed: " + statusData.failure_reason ?? "" + "
";
+ container.innerHTML = "❌ Video generation failed: " + (statusData.failure_reason ?? "") + "
";
console.log(JSON.stringify(statusData, null, 2));
}
}
diff --git a/ts/packages/shell/src/main/browserViewManager.ts b/ts/packages/shell/src/main/browserViewManager.ts
index c62a4ff91..e4ca66cb7 100644
--- a/ts/packages/shell/src/main/browserViewManager.ts
+++ b/ts/packages/shell/src/main/browserViewManager.ts
@@ -196,8 +196,20 @@ export class BrowserViewManager {
// only show the error if it's for the page the user was asking
// it's possible some other resource failed to load (image, script, etc.)
if (validatedURL === options.url) {
+ const safeUrl = options.url
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
+ const safeDesc = errorDesc
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
webContentsView.webContents.executeJavaScript(
- `document.body.innerHTML = "There was an error loading '${options.url}'.
Error Details:
${errorCode} - ${errorDesc}"`,
+ `document.body.innerHTML = "There was an error loading '${safeUrl}'.
Error Details:
${errorCode} - ${safeDesc}"`,
);
}
},
@@ -261,9 +273,21 @@ export class BrowserViewManager {
`Error loading URL ${webContentsView.webContents.getURL()} in tab ${tabId}:`,
err,
);
-
+ const safeUrl = webContentsView.webContents
+ .getURL()
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
+ const safeErr = String(err)
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
webContentsView.webContents.executeJavaScript(
- `document.body.innerHTML = "There was an error loading '${webContentsView.webContents.getURL()}'.
: ${err}"`,
+ `document.body.innerHTML = "There was an error loading '${safeUrl}'.
: ${safeErr}"`,
);
});
} else {
@@ -274,8 +298,21 @@ export class BrowserViewManager {
`Error loading URL ${webContentsView.webContents.getURL()} in tab ${tabId}:`,
err,
);
+ const safeUrl = webContentsView.webContents
+ .getURL()
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
+ const safeErr = String(err)
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'");
webContentsView.webContents.executeJavaScript(
- `document.body.innerHTML = "There was an error loading '${webContentsView.webContents.getURL()}'.
: ${err}"`,
+ `document.body.innerHTML = "There was an error loading '${safeUrl}'.
: ${safeErr}"`,
);
});
}
diff --git a/ts/packages/shell/src/renderer/src/setContent.ts b/ts/packages/shell/src/renderer/src/setContent.ts
index baa95b251..ec5c07905 100644
--- a/ts/packages/shell/src/renderer/src/setContent.ts
+++ b/ts/packages/shell/src/renderer/src/setContent.ts
@@ -294,12 +294,16 @@ export function setContent(
${css}
${message}