Skip to content

Conversation

@odeimaiz
Copy link
Member

@odeimaiz odeimaiz commented Sep 3, 2025

What do these changes do?

This is a temporary solution to the Book a call feature until we integrate a third party Appointment scheduling tool.

This PR adds a "Book a Call" feature to the Support Center, allowing users to request appointments with the support team. The feature creates a new conversation with a specific message and tracks appointment status through the conversation's extra context.

Then the AppSupport members can make an appointment using the Date Time Chooser. (@pcrespov @bisgaard-itis currently AppSupport members can read conversations, but can't patch them, I need you to allow me so in order to set the appointment)

User requesting a call
BookACall1

App Team making the appointment
BookACall2

Related issue/s

How to test

Dev-ops

@mergify
Copy link
Contributor

mergify bot commented Sep 3, 2025

🧪 CI Insights

Here's what we observed from your CI run for 4733135.

🟢 All jobs passed!

But CI Insights is watching 👀

@odeimaiz odeimaiz added this to the Cheops milestone Sep 3, 2025
@odeimaiz odeimaiz added t:enhancement Improvement or request on an existing feature a:frontend issue affecting the front-end (area group) labels Sep 3, 2025
@odeimaiz odeimaiz marked this pull request as ready for review September 3, 2025 14:20
@odeimaiz odeimaiz requested a review from Copilot September 3, 2025 14:20

This comment was marked as outdated.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a "Book a Call" feature to the Support Center, providing users with the ability to request appointments with the support team. This serves as a temporary solution before integrating a third-party appointment scheduling tool.

  • Adds a new "Book a Call" button alongside the existing "Ask a Question" button
  • Implements date/time selection functionality for scheduling appointments
  • Tracks appointment status through conversation metadata and displays appointment information in the UI

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
osparc/widget/DateTimeChooser.js New modal dialog for selecting appointment date and time
osparc/ui/form/DateTimeField.js New form component combining date picker with hour/minute spinners
osparc/support/SupportCenter.js Adds "Book a Call" button and conversation creation logic
osparc/support/ConversationPage.js Adds appointment management UI and postMessage helper method
osparc/data/model/Conversation.js Adds appointment getter/setter methods and extra context patching
osparc/store/ConversationsSupport.js Adds patchExtraContext method and renames API endpoint
osparc/data/Resources.js Renames conversation API endpoint for consistency
osparc/conversation/AddMessage.js Makes addComment and postMessage methods return promises
osparc/ui/message/FlashMessageOEC.js Refactors message posting to use new postMessage method
osparc/ui/form/IntlTelInput.js Updates copyright year
Comments suppressed due to low confidence (1)

services/static-webserver/client/source/class/osparc/ui/form/DateTimeField.js:1

  • These magic numbers should be defined as named constants or documented with comments explaining their purpose (e.g., // Modal dialog dimensions).
/* ************************************************************************

Copy link
Member

@sanderegg sanderegg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

Copy link
Contributor

@GitHK GitHK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: say I live in Australia and I choose 09:00 in my local timezone.
What will the support team see on their side as the time of the appointment?

@odeimaiz
Copy link
Member Author

odeimaiz commented Sep 4, 2025

Question: say I live in Australia and I choose 09:00 in my local timezone. What will the support team see on their side as the time of the appointment?

Same as all the times used throughout the application: presented to the users in their local time zone, stored in UTC.

Copy link
Member

@pcrespov pcrespov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestions:

  • Expose the user with the time-zone (i.e. make it clear in the UI the time zone. See e.g. the appointments by zoom)
  • the user cannot choose the time it fits him/here? I thought the app team would offer a doodle-like calendar of availablilty and user would decide
  • pls create an sub-issue with some details of what you need from the api and assign to @bisgaard-itis and @pcrespov. I can follow up after i am done with my two PRs

@odeimaiz
Copy link
Member Author

odeimaiz commented Sep 4, 2025

Suggestions:

  • Expose the user with the time-zone (i.e. make it clear in the UI the time zone. See e.g. the appointments by zoom)
  • the user cannot choose the time it fits him/here? I thought the app team would offer a doodle-like calendar of availablilty and user would decide
  • pls create an sub-issue with some details of what you need from the api and assign to @bisgaard-itis and @pcrespov. I can follow up after i am done with my two PRs

https://github.com/ITISFoundation/private-issues/issues/343

Copy link
Contributor

@bisgaard-itis bisgaard-itis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool stuff! Thanks a lot for the effort

@odeimaiz odeimaiz added the 🤖-automerge marks PR as ready to be merged for Mergify label Sep 4, 2025
@odeimaiz
Copy link
Member Author

odeimaiz commented Sep 4, 2025

@Mergifyio queue

@mergify
Copy link
Contributor

mergify bot commented Sep 4, 2025

queue

🛑 Configuration not compatible with a branch protection setting

The branch protection setting Require branches to be up to date before merging is not compatible with max_parallel_checks>1, queue_conditions != merge_conditions and must be unset.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 4, 2025

@odeimaiz odeimaiz merged commit 3a35a33 into ITISFoundation:master Sep 4, 2025
58 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖-automerge marks PR as ready to be merged for Mergify a:frontend issue affecting the front-end (area group) t:enhancement Improvement or request on an existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants