Skip to content

Commit 2cdaab8

Browse files
committed
Merge branch 'master' into 6948-expose-licensing-endpoints-api-server
2 parents 3577938 + e6fc642 commit 2cdaab8

File tree

11 files changed

+33
-28
lines changed

11 files changed

+33
-28
lines changed

services/director-v2/src/simcore_service_director_v2/modules/dynamic_sidecar/scheduler/_core/_events_user_services.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,9 +237,9 @@ async def progress_create_containers(
237237
start_duration = (
238238
scheduler_data.dynamic_sidecar.instrumentation.elapsed_since_start_request()
239239
)
240-
assert start_duration is not None # nosec
241-
get_instrumentation(app).dynamic_sidecar_metrics.start_time_duration.labels(
242-
**get_metrics_labels(scheduler_data)
243-
).observe(start_duration)
240+
if start_duration is not None:
241+
get_instrumentation(app).dynamic_sidecar_metrics.start_time_duration.labels(
242+
**get_metrics_labels(scheduler_data)
243+
).observe(start_duration)
244244

245245
_logger.info("Internal state after creating user services %s", scheduler_data)

services/director-v2/src/simcore_service_director_v2/modules/dynamic_sidecar/scheduler/_core/_events_utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -385,10 +385,10 @@ async def attempt_pod_removal_and_data_saving(
385385
stop_duration = (
386386
scheduler_data.dynamic_sidecar.instrumentation.elapsed_since_close_request()
387387
)
388-
assert stop_duration is not None # nosec
389-
get_instrumentation(app).dynamic_sidecar_metrics.stop_time_duration.labels(
390-
**get_metrics_labels(scheduler_data)
391-
).observe(stop_duration)
388+
if stop_duration is not None:
389+
get_instrumentation(app).dynamic_sidecar_metrics.stop_time_duration.labels(
390+
**get_metrics_labels(scheduler_data)
391+
).observe(stop_duration)
392392

393393

394394
async def attach_project_networks(app: FastAPI, scheduler_data: SchedulerData) -> None:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ qx.Class.define("osparc.data.model.User", {
3939
if (userData["login"]) {
4040
description += userData["login"];
4141
}
42-
const thumbnail = osparc.utils.Avatar.emailToThumbnail(userData["login"]);
42+
const thumbnail = osparc.utils.Avatar.emailToThumbnail(userData["login"], userData["userName"]);
4343
this.set({
4444
userId: parseInt(userData["id"]),
4545
groupId: parseInt(userData["gid"]),

services/static-webserver/client/source/class/osparc/desktop/account/MyAccount.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ qx.Class.define("osparc.desktop.account.MyAccount", {
4242
});
4343

4444
const authData = osparc.auth.Data.getInstance();
45-
45+
const username = authData.getUsername();
4646
const email = authData.getEmail();
4747
const avatarSize = 80;
4848
const img = new qx.ui.basic.Image().set({
49-
source: osparc.utils.Avatar.getUrl(email, avatarSize),
49+
source: osparc.utils.Avatar.emailToThumbnail(email, username, avatarSize),
5050
maxWidth: avatarSize,
5151
maxHeight: avatarSize,
5252
scale: true,

services/static-webserver/client/source/class/osparc/info/CommentAdd.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,11 @@ qx.Class.define("osparc.info.CommentAdd", {
6868
maxHeight: 32,
6969
decorator: "rounded",
7070
});
71-
const myEmail = osparc.auth.Data.getInstance().getEmail();
71+
const authData = osparc.auth.Data.getInstance();
72+
const myUsername = authData.getUsername();
73+
const myEmail = authData.getEmail();
7274
control.set({
73-
source: osparc.utils.Avatar.getUrl(myEmail, 32)
75+
source: osparc.utils.Avatar.emailToThumbnail(myEmail, myUsername, 32)
7476
});
7577
const layout = this.getChildControl("add-comment-layout");
7678
layout.add(control, {

services/static-webserver/client/source/class/osparc/info/CommentUI.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ qx.Class.define("osparc.info.CommentUI", {
104104

105105
__buildLayout: function() {
106106
const thumbnail = this.getChildControl("thumbnail");
107-
thumbnail.setSource(osparc.utils.Avatar.getUrl("", 32));
107+
thumbnail.setSource(osparc.utils.Avatar.emailToThumbnail("", "", 32));
108108

109109
const userName = this.getChildControl("user-name");
110110
userName.setValue("Unknown");

services/static-webserver/client/source/class/osparc/navigation/UserMenuButton.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ qx.Class.define("osparc.navigation.UserMenuButton", {
5151
const preferencesSettings = osparc.Preferences.getInstance();
5252
preferencesSettings.addListener("changeCreditsWarningThreshold", () => this.__updateHaloColor());
5353

54+
const myUsername = authData.getUsername() || "Username";
5455
const myEmail = authData.getEmail() || "[email protected]";
5556
const icon = this.getChildControl("icon");
5657
authData.bind("role", this, "icon", {
@@ -64,7 +65,7 @@ qx.Class.define("osparc.navigation.UserMenuButton", {
6465
icon.getContentElement().setStyles({
6566
"margin-left": "-4px"
6667
});
67-
return osparc.utils.Avatar.getUrl(myEmail, 32);
68+
return osparc.utils.Avatar.emailToThumbnail(myEmail, myUsername, 32);
6869
}
6970
});
7071
},

services/static-webserver/client/source/class/osparc/store/Groups.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ qx.Class.define("osparc.store.Groups", {
9696
groupMe.set({
9797
label: myAuthData.getUsername(),
9898
description: `${myAuthData.getFirstName()} ${myAuthData.getLastName()} - ${myAuthData.getEmail()}`,
99-
thumbnail: osparc.utils.Avatar.emailToThumbnail(myAuthData.getEmail()),
99+
thumbnail: osparc.utils.Avatar.emailToThumbnail(myAuthData.getEmail(), myAuthData.getUsername()),
100100
})
101101
return orgs;
102102
});

services/static-webserver/client/source/class/osparc/store/Store.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ qx.Class.define("osparc.store.Store", {
222222
check: "Array",
223223
init: []
224224
},
225-
market: {
225+
licensedItems: {
226226
check: "Array",
227227
init: []
228228
},
@@ -618,7 +618,7 @@ qx.Class.define("osparc.store.Store", {
618618
__getOrgClassifiers: function(orgId, useCache = false) {
619619
const params = {
620620
url: {
621-
"gid": orgId
621+
"gid": parseInt(orgId)
622622
}
623623
};
624624
return osparc.data.Resources.get("classifiers", params, useCache);
@@ -640,7 +640,7 @@ qx.Class.define("osparc.store.Store", {
640640
}
641641
const classifierPromises = [];
642642
orgs.forEach(org => {
643-
classifierPromises.push(this.__getOrgClassifiers(org["gid"], !reload));
643+
classifierPromises.push(this.__getOrgClassifiers(org.getGroupId(), !reload));
644644
});
645645
Promise.all(classifierPromises)
646646
.then(orgsClassifiersMD => {

services/static-webserver/client/source/class/osparc/utils/Avatar.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,22 @@
2626
* Here is a little example of how to use the widget.
2727
*
2828
* <pre class='javascript'>
29-
* let image = osparc.utils.Avatar.getUrl(userEmail);
29+
* let image = osparc.utils.Avatar.emailToThumbnail(userEmail);
3030
* </pre>
3131
*/
3232

3333
qx.Class.define("osparc.utils.Avatar", {
3434
type: "static",
3535

3636
statics: {
37-
emailToThumbnail: function(email) {
38-
return this.getUrl(email, 32)
37+
emailToThumbnail: function(email, username) {
38+
return this.__getUrl(email, username, 32);
3939
},
4040

41-
getUrl: function(email = "", size = 100, defIcon = "identicon", rating = "g") {
41+
__getUrl: function(email, username, size = 100) {
42+
email = email || "";
4243
// MD5 (Message-Digest Algorithm) by WebToolkit
43-
let MD5 = function(s) {
44+
const MD5 = function(s) {
4445
function L(k, d) {
4546
return (k << d) | (k >>> (32 - d));
4647
}
@@ -257,8 +258,9 @@ qx.Class.define("osparc.utils.Avatar", {
257258
return i.toLowerCase();
258259
};
259260

260-
return "https://secure.gravatar.com/avatar/" + MD5(email) + "?s=" + size + "&d=" + defIcon + "&r=" + rating;
261-
}
262-
261+
const emailHash = MD5(email);
262+
const defaultImageUrl = `https://ui-avatars.com/api/${username}/${size}`;
263+
return `https://www.gravatar.com/avatar/${emailHash}?d=${defaultImageUrl}&s=${size}&r=g`;
264+
},
263265
}
264266
});

0 commit comments

Comments
 (0)