From e80f751a85c9d8bd9052d2a0760447efe89f815f Mon Sep 17 00:00:00 2001 From: Brother-Lal Date: Mon, 24 Oct 2016 14:18:01 +0200 Subject: [PATCH] fix error in statuspage if cookies are disabled (#912) If cookies are disabled, the Statuspage only displays an empty ("Not connected") This checks if the localStorage API is available and working and only uses it in this case Also allows better backwards compatibility. --- package/gluon-status-page/src/js/main.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/package/gluon-status-page/src/js/main.js b/package/gluon-status-page/src/js/main.js index 3bdbe2a0..eb668698 100644 --- a/package/gluon-status-page/src/js/main.js +++ b/package/gluon-status-page/src/js/main.js @@ -83,7 +83,17 @@ require([ "bacon" return a } - if (localStorage.nodes) + var lsavailable = false + try { + localStorage.setItem("t", "t") + localStorage.removeItem("t") + lsavailable = true + } catch(e) { + lsavailable = false + } + + + if ( lsavailable && localStorage.nodes) JSON.parse(localStorage.nodes).forEach(nodesBusIn.push) nodesBus.map(".nodes").onValue(function (nodes) { @@ -92,7 +102,8 @@ require([ "bacon" for (var k in nodes) out.push(nodes[k]) - localStorage.nodes = JSON.stringify(out) + if (lsavailable) + localStorage.nodes = JSON.stringify(out) }) var bootstrap = Helper.getJSON(bootstrapUrl)