From 3bf0e598dae52ac542760fc50549bbf9bc94336e Mon Sep 17 00:00:00 2001 From: Brother-Lal Date: Sat, 22 Oct 2016 17:58:30 +0200 Subject: [PATCH] fix error in statuspage if cookies are disabled 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)