From f2a52c285cc47277f3d94f6ba515db7c33f5c57a 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)