Skip to content

Commit dbe8b8f

Browse files
committed
refactor isMyFrontendOld
1 parent d9a723a commit dbe8b8f

File tree

2 files changed

+31
-22
lines changed

2 files changed

+31
-22
lines changed

services/static-webserver/client/source/class/osparc/NewRelease.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,19 @@ qx.Class.define("osparc.NewRelease", {
4444
/**
4545
* Compare the latest version provided by the backend with the one loaded in the browser (might be an old cached one)
4646
*/
47-
isMyFrontendOld: async function() {
48-
const lastUICommit = await osparc.store.AppSummary.getLatestUIFromBE();
49-
const thisUICommit = osparc.utils.LibVersions.getVcsRefUI();
50-
if (lastUICommit && thisUICommit) {
51-
return lastUICommit !== thisUICommit;
52-
}
53-
return false;
47+
isMyFrontendOld: function() {
48+
return new Promise((resolve, reject) => {
49+
osparc.store.AppSummary.getLatestUIFromBE()
50+
.then(lastUICommit => {
51+
const thisUICommit = osparc.utils.LibVersions.getVcsRefUI();
52+
if (lastUICommit && thisUICommit) {
53+
resolve(lastUICommit !== thisUICommit)
54+
} else {
55+
reject();
56+
}
57+
})
58+
.catch(() => reject());
59+
});
5460
}
5561
},
5662

services/static-webserver/client/source/class/osparc/NewUITracker.js

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,24 @@ qx.Class.define("osparc.NewUITracker", {
2727
__checkInterval: null,
2828

2929
startTracker: function() {
30-
const checkNewUI = async () => {
31-
const newReleaseAvailable = await osparc.NewRelease.isMyFrontendOld();
32-
if (newReleaseAvailable) {
33-
let msg = "";
34-
msg += qx.locale.Manager.tr("A new version of the application is now available.");
35-
msg += "<br>";
36-
msg += qx.locale.Manager.tr("Click the Reload button to get the latest features.");
37-
// permanent message
38-
const flashMessage = osparc.FlashMessenger.getInstance().logAs(msg, "INFO", 0).set({
39-
maxWidth: 500
40-
});
41-
const reloadButton = osparc.utils.Utils.reloadNoCacheButton();
42-
flashMessage.addWidget(reloadButton);
43-
this.stopTracker();
44-
}
30+
const checkNewUI = () => {
31+
osparc.NewRelease.isMyFrontendOld()
32+
.then(newReleaseAvailable => {
33+
if (newReleaseAvailable) {
34+
let msg = "";
35+
msg += qx.locale.Manager.tr("A new version of the application is now available.");
36+
msg += "<br>";
37+
msg += qx.locale.Manager.tr("Click the Reload button to get the latest features.");
38+
// permanent message
39+
const flashMessage = osparc.FlashMessenger.getInstance().logAs(msg, "INFO", 0).set({
40+
maxWidth: 500
41+
});
42+
const reloadButton = osparc.utils.Utils.reloadNoCacheButton();
43+
flashMessage.addWidget(reloadButton);
44+
this.stopTracker();
45+
}
46+
})
47+
.catch(() => setTimeout(() => checkNewUI(), 5*1000));
4548
};
4649
checkNewUI();
4750
this.__checkInterval = setInterval(checkNewUI, this.self().CHECK_INTERVAL);

0 commit comments

Comments
 (0)