Embed port error-message into error-page

This should ease troubleshooting for users.
This commit is contained in:
Jaidyn Ann 2024-03-04 21:56:08 -06:00
parent 268c29263d
commit 7f07d30f56
3 changed files with 30 additions and 16 deletions

View File

@ -3,8 +3,17 @@ let port = undefined;
// Run the shellfox helper program.
function initShellfoxProgram() {
port = browser.runtime.connectNative("shellfox");
port.onDisconnect.addListener((port) => {
console.log(port.error);
if (!port)
shellfoxFailed();
else
port.onDisconnect.addListener(shellfoxFailed);
}
// Display an error when we fail to launch Shellfoxes script.
function shellfoxFailed() {
let error = port.error;
console.log(error);
port = undefined;
// Tell the user about the error…
@ -15,11 +24,10 @@ function initShellfoxProgram() {
browser.tabs.create({
"active": true,
"url": "/html/error.html",
"url": "/html/error.html?error=" + escape(error),
"openerTabId": openerTab
})
});
});
}

View File

@ -7,9 +7,9 @@
<body>
<h1 id="errorTitle">Shellfox failed to run command</h1>
<h2><span class="command"></span></h2>
<h2 id="error"></h2>
<h3 id="notInstalled">It seems that Shellfox is not fully installed!</h3>
<h2 id="notInstalled">It seems that Shellfox is not fully installed!</h2>
<p id="notInstalledDesc">Shellfox, unlike most extensions, requires a script to be installed on your computer. This script, <code>shellfox.sh</code>, is what allows us to execute shell commands.</p>
<h3 id="installTitle">Completing installation</h3>

View File

@ -1,3 +1,9 @@
let urlParams = location.toString().split("?error=");
if (urlParams && urlParams.length > 0) {
let errorText = unescape(urlParams[urlParams.length - 1]);
document.getElementById("error").innerText = "«" + errorText + "»";
}
document.getElementsByTagName("html")[0].setAttribute("lang", browser.i18n.getMessage("@@ui_locale"));
document.getElementById("errorPageTitle").innerText = browser.i18n.getMessage("errorPageTitle");