Skip to content

Commit f9b89f9

Browse files
committed
front-end reacts to 500
1 parent 00936f8 commit f9b89f9

File tree

2 files changed

+25
-21
lines changed

2 files changed

+25
-21
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,16 @@ qx.Class.define("osparc.FlashMessenger", {
111111
}
112112
this.__displayedMessagesCount++;
113113

114+
const message = flashMessage.getMessage();
115+
if (!message) {
116+
// If message is "", null or undefined, do not show it
117+
this.removeMessage(flashMessage);
118+
return;
119+
}
120+
114121
let duration = flashMessage.getDuration();
115122
if (duration === null) {
116-
const wordCount = flashMessage.getMessage() ? flashMessage.getMessage().split(" ").length : 20;
123+
const wordCount = message.split(" ").length;
117124
duration = Math.max(5500, wordCount*500); // An average reader takes 300ms to read a word
118125
}
119126
if (duration !== 0) {

services/static-webserver/client/source/class/osparc/data/Resources.js

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,23 +1301,13 @@ qx.Class.define("osparc.data.Resources", {
13011301
}, this);
13021302

13031303
res.addListenerOnce(endpoint + "Error", e => {
1304-
let message = null;
1305-
let status = null;
1304+
const status = e.getRequest().getStatus();
1305+
let message = null; // required
1306+
let errorType = null; // optional
13061307
if (e.getData().error) {
13071308
const errorData = e.getData().error;
1308-
const logs = errorData.logs || null;
1309-
if (logs && logs.length) {
1310-
message = logs[0].message;
1311-
}
1312-
const errors = errorData.errors || [];
1313-
if (message === null && errors && errors.length) {
1314-
message = errors[0].message;
1315-
}
1316-
status = errorData.status;
1317-
} else {
1318-
const req = e.getRequest();
1319-
message = req.getResponse();
1320-
status = req.getStatus();
1309+
message = errorData.message
1310+
errorType = errorData.type || null;
13211311
}
13221312
res.dispose();
13231313

@@ -1335,12 +1325,19 @@ qx.Class.define("osparc.data.Resources", {
13351325
});
13361326
}
13371327

1338-
if ([404, 503].includes(status)) {
1339-
message += "<br>Please try again later and/or contact support";
1328+
if (status == 500) {
1329+
console.error(message);
1330+
// Show Flash message...
1331+
osparc.FlashMessenger.getInstance().logAs(message, "ERROR");
1332+
// ...and do not propagate message
1333+
message = "";
1334+
} else if ([404, 503].includes(status)) {
1335+
message += "<br>"+qx.locale.Manager.tr("Please try again later");
13401336
}
1341-
const err = Error(message ? message : `Error while trying to fetch ${endpoint} ${resource}`);
1342-
if (status) {
1343-
err.status = status;
1337+
const err = Error(message);
1338+
err.status = status;
1339+
if (errorType) {
1340+
err.type = errorType
13441341
}
13451342
reject(err);
13461343
});

0 commit comments

Comments
 (0)