Skip to content
Merged
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
7c79780
createLabel
odeimaiz Sep 12, 2025
a03628a
Help & Support: 1 click
odeimaiz Sep 12, 2025
8079aa9
two buttons no intro
odeimaiz Sep 12, 2025
edb096e
less intro
odeimaiz Sep 12, 2025
038d560
refactor
odeimaiz Sep 12, 2025
05066fe
reportOEC
odeimaiz Sep 12, 2025
f55bc35
system message
odeimaiz Sep 12, 2025
45a06b5
disable the send report
odeimaiz Sep 12, 2025
0701e44
display system message
odeimaiz Sep 12, 2025
e76bd08
minor
odeimaiz Sep 12, 2025
2510fb0
move logic down
odeimaiz Sep 12, 2025
efede3c
book a call, deprecated
odeimaiz Sep 12, 2025
83a44c7
refactor
odeimaiz Sep 12, 2025
2aa2191
automatic message
odeimaiz Sep 12, 2025
d2c8712
clean up messages
odeimaiz Sep 12, 2025
0b77997
clearAllMessages
odeimaiz Sep 12, 2025
fa85c6b
minor
odeimaiz Sep 12, 2025
51db084
minor
odeimaiz Sep 12, 2025
2e957e6
Merge branch 'master' into enh/support-center-feedback
odeimaiz Sep 15, 2025
8ec5670
Merge branch 'enh/support-center-feedback' of github.com:odeimaiz/osp…
odeimaiz Sep 15, 2025
dd9d117
minor
odeimaiz Sep 15, 2025
ac04f0e
refactor
odeimaiz Sep 15, 2025
d811d13
SYSTEM_MESSAGE_TYPE
odeimaiz Sep 15, 2025
c2ab84c
post predefined message
odeimaiz Sep 15, 2025
259afe0
not needed
odeimaiz Sep 15, 2025
3e623d1
renameConversation
odeimaiz Sep 15, 2025
01953cf
UX
odeimaiz Sep 15, 2025
9fffac8
uuidToShort
odeimaiz Sep 15, 2025
f30f76a
conversation buttons
odeimaiz Sep 15, 2025
0604eb5
fix
odeimaiz Sep 15, 2025
4a5c1fd
"chat-bubble" decorator
odeimaiz Sep 15, 2025
d8d6653
markdown styling
odeimaiz Sep 15, 2025
387c7d4
Merge branch 'master' into enh/chat-bubble
odeimaiz Sep 16, 2025
87ccb9c
Merge branch 'enh/chat-bubble' of github.com:odeimaiz/osparc-simcore …
odeimaiz Sep 16, 2025
150cba6
fix path
odeimaiz Sep 16, 2025
6aa3d3d
aesthetics
odeimaiz Sep 16, 2025
95f55a3
minor
odeimaiz Sep 16, 2025
595e276
not needed
odeimaiz Sep 16, 2025
fa0eddc
looking better
odeimaiz Sep 16, 2025
74e8972
cleanup
odeimaiz Sep 16, 2025
d45c551
height working
odeimaiz Sep 16, 2025
45dd6b7
setting width
odeimaiz Sep 16, 2025
2acef2b
minor
odeimaiz Sep 16, 2025
80a42ff
adjusting width
odeimaiz Sep 16, 2025
f93ceba
SETTING WIDTH
odeimaiz Sep 16, 2025
25543b9
minors
odeimaiz Sep 16, 2025
537ab49
Fogbugz
odeimaiz Sep 16, 2025
fedce8f
bubble well aligned
odeimaiz Sep 16, 2025
e991377
minor
odeimaiz Sep 16, 2025
479b140
aesthetics
odeimaiz Sep 16, 2025
0bdf760
minor
odeimaiz Sep 16, 2025
11d934e
background instead of border
odeimaiz Sep 16, 2025
5ce3e7b
minor
odeimaiz Sep 16, 2025
ff7f878
img styling
odeimaiz Sep 16, 2025
7c2e795
on error
odeimaiz Sep 16, 2025
03c1a61
MarkdownChat
odeimaiz Sep 16, 2025
373f657
Merge branch 'master' into enh/chat-bubble
odeimaiz Sep 16, 2025
25bc66f
Merge branch 'enh/chat-bubble' of github.com:odeimaiz/osparc-simcore …
odeimaiz Sep 16, 2025
feb0abb
minors
odeimaiz Sep 16, 2025
b2db8b5
Update services/static-webserver/client/source/class/osparc/support/C…
odeimaiz Sep 16, 2025
075e4d5
Merge branch 'enh/chat-bubble' of github.com:odeimaiz/osparc-simcore …
odeimaiz Sep 16, 2025
f93dae3
minor
odeimaiz Sep 16, 2025
1121cf0
maxWidth prop
odeimaiz Sep 16, 2025
e7e9765
safety net
odeimaiz Sep 16, 2025
f537542
minor
odeimaiz Sep 16, 2025
acb07bc
make it compact
odeimaiz Sep 16, 2025
ceed43e
textEditor with enter
odeimaiz Sep 16, 2025
e6d8631
__addCommentPressed
odeimaiz Sep 16, 2025
0f2f2a8
Merge branch 'master' into enh/chat-bubble
odeimaiz Sep 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions services/static-webserver/client/Manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"css": [
"jsontreeviewer/jsonTree.css",
"hint/hint.css",
"marked/markdown.css",
"common/common.css"
]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@ qx.Class.define("osparc.conversation.MessageUI", {

this.__studyData = studyData;

const layout = new qx.ui.layout.Grid(12, 2);
layout.setColumnFlex(1, 1); // content
this._setLayout(layout);
this._setLayout(new qx.ui.layout.HBox(10));
this.setPadding(5);

this.set({
Expand Down Expand Up @@ -69,22 +67,22 @@ qx.Class.define("osparc.conversation.MessageUI", {
case "thumbnail":
control = new osparc.ui.basic.UserThumbnail(32).set({
marginTop: 4,
alignY: "top",
});
this._add(control, {
row: 0,
column: isMyMessage ? 2 : 0,
rowSpan: 2,
});
this._addAt(control, isMyMessage ? 1 : 0);
break;
case "main-layout":
control = new qx.ui.container.Composite(new qx.ui.layout.VBox(2).set({
alignX: isMyMessage ? "right" : "left"
}));
this._addAt(control, isMyMessage ? 0 : 1, { flex: 1});
break;
case "header-layout":
control = new qx.ui.container.Composite(new qx.ui.layout.HBox(5).set({
alignX: isMyMessage ? "right" : "left"
}));
control.addAt(new qx.ui.basic.Label("-"), 1);
this._add(control, {
row: 0,
column: 1
});
this.getChildControl("main-layout").addAt(control, 0);
break;
case "user-name":
control = new qx.ui.basic.Label().set({
Expand All @@ -100,25 +98,25 @@ qx.Class.define("osparc.conversation.MessageUI", {
});
this.getChildControl("header-layout").addAt(control, isMyMessage ? 0 : 2);
break;
case "message-content":
control = new osparc.ui.markdown.Markdown().set({
noMargin: true,
allowGrowX: true,
});
control.getContentElement().setStyles({
"text-align": isMyMessage ? "right" : "left",
});
this._add(control, {
row: 1,
column: 1,
case "message-bubble":
control = new qx.ui.container.Composite(new qx.ui.layout.VBox().set({
alignX: isMyMessage ? "right" : "left"
})).set({
decorator: "chat-bubble",
allowGrowX: false,
padding: 8,
});
if (isMyMessage) {
bubbleStyle = { "border-top-right-radius": "0px" };
} else {
bubbleStyle = { "border-top-left-radius": "0px" };
}
control.getContentElement().setStyles(bubbleStyle);
this.getChildControl("main-layout").addAt(control, 1);
break;
case "spacer":
control = new qx.ui.core.Spacer();
this._add(control, {
row: 1,
column: isMyMessage ? 0 : 2,
});
case "message-content":
control = new osparc.ui.markdown.MarkdownChat();
this.getChildControl("message-bubble").add(control);
break;
case "menu-button": {
const buttonSize = 22;
Expand All @@ -129,14 +127,10 @@ qx.Class.define("osparc.conversation.MessageUI", {
allowGrowY: false,
marginTop: 4,
alignY: "top",
icon: "@FontAwesome5Solid/ellipsis-v/14",
icon: "@FontAwesome5Solid/ellipsis-v/12",
focusable: false
});
this._add(control, {
row: 0,
column: 3,
rowSpan: 2,
});
this._addAt(control, 2);
break;
}
}
Expand All @@ -145,13 +139,6 @@ qx.Class.define("osparc.conversation.MessageUI", {
},

__applyMessage: function(message) {
const isMyMessage = this.self().isMyMessage(message);
this._getLayout().setColumnFlex(isMyMessage ? 0 : 2, 3); // spacer

const thumbnail = this.getChildControl("thumbnail");

const userName = this.getChildControl("user-name");

const createdDateData = new Date(message["created"]);
const createdDate = osparc.utils.Utils.formatDateAndTime(createdDateData);
const lastUpdate = this.getChildControl("last-updated");
Expand All @@ -166,6 +153,8 @@ qx.Class.define("osparc.conversation.MessageUI", {
const messageContent = this.getChildControl("message-content");
messageContent.setValue(message["content"]);

const thumbnail = this.getChildControl("thumbnail");
const userName = this.getChildControl("user-name");
if (message["userGroupId"] === "system") {
userName.setValue("Support");
} else {
Expand All @@ -180,8 +169,6 @@ qx.Class.define("osparc.conversation.MessageUI", {
});
}

this.getChildControl("spacer");

if (this.self().isMyMessage(message)) {
const menuButton = this.getChildControl("menu-button");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,13 @@ qx.Class.define("osparc.data.model.Conversation", {
return null;
},

getFogbugzLink: function() {
if (this.getExtraContext() && "fogbugz_case_url" in this.getExtraContext()) {
return this.getExtraContext()["fogbugz_case_url"];
}
return null;
},

getAppointment: function() {
if (this.getExtraContext() && "appointment" in this.getExtraContext()) {
return this.getExtraContext()["appointment"];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ qx.Class.define("osparc.support.Conversation", {
// make these checks first, setConversation will reload messages
if (
this.__messages.length === 1 &&
this.__messages[0]["systemMessageType"] &&
this.__messages[0]["systemMessageType"] === osparc.support.Conversation.SYSTEM_MESSAGE_TYPE.BOOK_A_CALL
) {
isBookACall = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@ qx.Class.define("osparc.support.ConversationPage", {
return new qx.ui.basic.Label(text).set({
font: "text-12",
textColor: "text-disabled",
rich: true,
allowGrowX: true,
selectable: true,
});
Expand All @@ -207,31 +206,21 @@ qx.Class.define("osparc.support.ConversationPage", {
if (extraContext && Object.keys(extraContext).length) {
const ticketIdLabel = createExtraContextLabel(`Ticket ID: ${osparc.utils.Utils.uuidToShort(conversation.getConversationId())}`);
extraContextLayout.add(ticketIdLabel);
const fogbugzLink = conversation.getFogbugzLink();
if (fogbugzLink && amISupporter) {
const text = "Fogbugz Case:" + fogbugzLink.split("/").pop();
const fogbugzLabel = new osparc.ui.basic.LinkLabel(text, fogbugzLink).set({
font: "link-label-12",
textColor: "text-disabled",
allowGrowX: true,
});
extraContextLayout.add(fogbugzLabel);
}
const contextProjectId = conversation.getContextProjectId();
if (contextProjectId && amISupporter) {
const projectIdLabel = createExtraContextLabel(`Project ID: ${osparc.utils.Utils.uuidToShort(contextProjectId)}`);
extraContextLayout.add(projectIdLabel);
}
/*
const appointment = conversation.getAppointment();
if (appointment) {
const appointmentLabel = createExtraContextLabel();
let appointmentText = "Appointment: ";
if (appointment === "requested") {
// still pending
appointmentText += appointment;
} else {
// already set
appointmentText += osparc.utils.Utils.formatDateAndTime(new Date(appointment));
appointmentLabel.set({
cursor: "pointer",
toolTipText: osparc.utils.Utils.formatDateWithCityAndTZ(new Date(appointment)),
});
}
appointmentLabel.setValue(appointmentText);
extraContextLayout.add(appointmentLabel);
}
*/
}
};
updateExtraContext();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ qx.Theme.define("osparc.theme.Decoration", {
"chat-bubble": {
style: {
radius: 4,
width: 1,
color: "text-disabled"
// width: 1,
// color: "text-disabled",
backgroundColor: "background-main-2",
}
},

Expand Down
Loading
Loading