From f42bec58d38bcc5458dc9ab12a46a2e8f7c990e2 Mon Sep 17 00:00:00 2001 From: sijanec Date: Wed, 20 May 2020 13:29:12 +0200 Subject: err reporting --- assets/js/app.js.bvr | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 assets/js/app.js.bvr (limited to 'assets/js/app.js.bvr') diff --git a/assets/js/app.js.bvr b/assets/js/app.js.bvr new file mode 100644 index 0000000..f601506 --- /dev/null +++ b/assets/js/app.js.bvr @@ -0,0 +1,63 @@ +<@?i global@> +const app_version = "<@?g app_version@>"; +const previous_commit = "<@?g latest_commit@>"; + +if ("serviceWorker" in navigator) { + navigator.serviceWorker.register("/sw.js") + .then(() => { }) + .catch((err) => console.log("Service worker registration failed", err)); +} + +// Listen to messages from service workers. +if (navigator.serviceWorker) { + navigator.serviceWorker.addEventListener('message', (event) => { + if (event.data.msg === "install") { + window.location.replace("/index.html"); + } + }); +} + +/** + * Displays a user-friendly text to the user and + * detailed text to developer (console) + * @param {string} usermsg User-friendly message + * @param {string} devmsg Developer-friendly message + */ +async function UIAlert(usermsg, devmsg) { + if (true) { // če bo kakšen dev switch? + M.toast( { html: usermsg } ); + console.log(`[BežiApp UIAlert] ${usermsg} ${devmsg}`); + } else { + M.toast( { html: `${usermsg} ${devmsg}` } ); + } +} + +/** + * Handles GSEC error - notifies the user and prints a console message + * @param {Object} err GSEC error object + */ +function gsecErrorHandlerUI(err) { + console.log(`gsecErrorHanderUI: handling ${err}`); + if(err == GSEC_ERR_NET || err == GSEC_ERR_NET_POSTBACK_GET || + err == GSEC_ERR_NET_POSTBACK_POST) { + + UIAlert( D("gsecErrNet") ); + } else if(err == GSEC_ERR_LOGIN) { + UIAlert( D("gsecErrLogin") ); + localforage.setItem("logged_in", false).then( () => { + window.location.replace("/index.html"); + }); + } else { + UIAlert( D("gsecErrOther") ); + } +} + + +window.onerror = function (msg, url, lineNo, columnNo, error) { + var data = {}; + data.error = {"msg": msg, "url": url, "line": lineNo, "column": columnNo, "obj": error}; + data.client = {"ua": navigator.userAgent, "app_version": app_version, "previous_commit": previous_commit}; + data.type = "error"; + $.post("https://beziapp-report.gimb.tk/", data); + return false; +} -- cgit v1.2.3