forked from extern/homer
feat(pwa): enhance connectivity checks
Also add support to auth proxy such as Authelia
This commit is contained in:
parent
2ac75c0534
commit
bf2fcc6641
@ -29,15 +29,40 @@ export default {
|
||||
},
|
||||
false
|
||||
);
|
||||
window.addEventListener(
|
||||
"online",
|
||||
function () {
|
||||
that.checkOffline();
|
||||
},
|
||||
false
|
||||
);
|
||||
window.addEventListener(
|
||||
"offline",
|
||||
function () {
|
||||
this.offline = true;
|
||||
},
|
||||
false
|
||||
);
|
||||
},
|
||||
methods: {
|
||||
checkOffline: function () {
|
||||
if (!navigator.onLine) {
|
||||
this.offline = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// extra check to make sure we're not offline
|
||||
let that = this;
|
||||
return fetch(window.location.href + "?alive", {
|
||||
method: "HEAD",
|
||||
cache: "no-store",
|
||||
redirect: "manual"
|
||||
})
|
||||
.then(function (response) {
|
||||
// opaqueredirect means request has been redirected, to auth provider probably
|
||||
if (response.type === "opaqueredirect" && !response.ok) {
|
||||
window.location.reload(true);
|
||||
}
|
||||
that.offline = !response.ok;
|
||||
})
|
||||
.catch(function () {
|
||||
|
@ -26,4 +26,7 @@ module.exports = {
|
||||
msTileImage: "assets/icons/icon-any.png",
|
||||
},
|
||||
},
|
||||
devServer: {
|
||||
disableHostCheck: true
|
||||
},
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user