diff --git a/client/assets/css/reset.scss b/client/assets/css/reset.scss
index 679f77b4..3a907e3f 100644
--- a/client/assets/css/reset.scss
+++ b/client/assets/css/reset.scss
@@ -185,3 +185,12 @@ select:-moz-focusring {
.pointer {
cursor: pointer;
}
+
+.hidden{
+ position:absolute;
+ left:-10000px;
+ top:auto;
+ width:1px;
+ height:1px;
+ overflow:hidden;
+}
diff --git a/client/components/breadcrumb.js b/client/components/breadcrumb.js
index 1cffa978..fe4e1ccc 100644
--- a/client/components/breadcrumb.js
+++ b/client/components/breadcrumb.js
@@ -76,19 +76,19 @@ BreadCrumb.propTypes = {
const BreadCrumbContainer = (props) => {
return (
);
}
const Logout = (props) => {
return (
-
+
-
+
);
}
@@ -144,7 +144,7 @@ export class PathElementWrapper extends React.Component {
href += location.search;
return (
-
+
@@ -163,7 +163,7 @@ export class PathElementWrapper extends React.Component {
{this.limitSize(this.props.path.label)}
-
+
);
}
}
diff --git a/client/components/breadcrumb.scss b/client/components/breadcrumb.scss
index 9e99a8ec..71ef2757 100644
--- a/client/components/breadcrumb.scss
+++ b/client/components/breadcrumb.scss
@@ -9,14 +9,14 @@
z-index: 1000;
padding: 4px 0;
- ul{
+ .ul{
list-style-type: none;
margin: 0 auto;
width: 95%;
max-width: 800px;
padding: 0;
> span{display: block; padding: 7px 0;}
- div, li{
+ div, .li{
display: inline-block;
}
}
diff --git a/client/index.js b/client/index.js
index d3f318ef..c0cc8871 100644
--- a/client/index.js
+++ b/client/index.js
@@ -44,9 +44,21 @@ window.addEventListener("DOMContentLoaded", () => {
.then(render);
}
return removeLoader().then(render);
+ }).catch((e) => {
+ const msg = "Couldn't boot Filestash";
+ Log.report(msg, location.href);
+ return removeLoaderWithAnimation()
});
});
window.onerror = function (msg, url, lineNo, colNo, error) {
Log.report(msg, url, lineNo, colNo, error)
}
+
+if ("serviceWorker" in navigator) {
+ window.addEventListener("load", function() {
+ navigator.serviceWorker.register("/sw_cache.js").catch(function(err){
+ console.error("ServiceWorker registration failed:", err);
+ });
+ });
+}
diff --git a/client/model/log.js b/client/model/log.js
index 0312cf28..bd08559b 100644
--- a/client/model/log.js
+++ b/client/model/log.js
@@ -16,14 +16,15 @@ class LogManager{
}
report(msg, link, lineNo, columnNo, error){
+ if(navigator.onLine === false) return Promise.resolve();
let url = "/report?";
url += "url="+encodeURIComponent(location.href)+"&";
- url += "error="+encodeURIComponent(error.message)+"&";
url += "msg="+encodeURIComponent(msg)+"&";
url += "from="+encodeURIComponent(link)+"&";
url += "from.lineNo="+lineNo+"&";
url += "from.columnNo="+columnNo;
- return http_post(url);
+ if(error) url += "error="+encodeURIComponent(error.message)+"&";
+ return http_post(url).catch();
}
}
diff --git a/client/pages/connectpage/form.js b/client/pages/connectpage/form.js
index 27fd5a04..605df276 100644
--- a/client/pages/connectpage/form.js
+++ b/client/pages/connectpage/form.js
@@ -140,7 +140,7 @@ export class Form extends React.Component {
);
return (
-