Add error reporting on connect and main page

This commit is contained in:
bbworld1 2020-08-07 21:08:51 -07:00 committed by Simon Ser
parent 96c890f1f5
commit 16582a6592
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
4 changed files with 49 additions and 13 deletions

View file

@ -36,11 +36,10 @@ export default class Client extends EventTarget {
try {
this.ws = new WebSocket(params.url);
} catch (err) {
console.error("Failed to create connection:", err);
this.dispatchEvent(new CustomEvent("error", { detail: "Failed to create connection: " + err }));
setTimeout(() => this.dispatchEvent(new CustomEvent("close")), 0);
return;
}
this.ws.addEventListener("open", this.handleOpen.bind(this));
this.ws.addEventListener("message", this.handleMessage.bind(this));
@ -50,7 +49,7 @@ export default class Client extends EventTarget {
});
this.ws.addEventListener("error", () => {
console.error("Connection error");
this.dispatchEvent(new CustomEvent("error", { detail: "Connection Error" }));
});
}
@ -95,7 +94,7 @@ export default class Client extends EventTarget {
this.registered = true;
break;
case irc.ERR_PASSWDMISMATCH:
console.error("Password mismatch");
this.dispatchEvent(new CustomEvent("error", { detail: "Password mismatch" }));
this.close();
break;
case "CAP":
@ -121,7 +120,7 @@ export default class Client extends EventTarget {
case irc.ERR_SASLTOOLONG:
case irc.ERR_SASLABORTED:
case irc.ERR_SASLALREADY:
console.error("SASL error:", msg);
this.dispatchEvent(new CustomEvent("error", { detail: "SASL error: " + msg }));
this.close();
break;
case "PING":
@ -258,7 +257,7 @@ export default class Client extends EventTarget {
// For now only PLAIN is supported
if (challengeStr != "+") {
console.error("Expected an empty challenge, got:", challengeStr);
this.dispatchEvent(new CustomEvent("error", { detail: "Expected an empty challenge, got: " + challengeStr }));
this.send({ command: "AUTHENTICATE", params: ["*"] });
return;
}