-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GH-199] Added a ephemeral message if the user is using PMI and his/her PMI setting is disable on Zoom. #324
Conversation
…her PMI setting is disable on Zoom.
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #324 +/- ##
==========================================
- Coverage 18.86% 18.42% -0.44%
==========================================
Files 9 9
Lines 1479 1514 +35
==========================================
Hits 279 279
- Misses 1149 1184 +35
Partials 51 51 ☔ View full report in Codecov by Sentry. |
1. Setting command not working in threads view 2. Slack attachment to ask for PMI setting not getting posted in threads view.
@raghavaggarwal2308 Under what circumstances does the ephemeral message in the PR description come up? When the user tries to start a meeting specifically with their PMI? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work on this @raghavaggarwal2308 👍 I have a few comments and requested a review from UX on the new functionality
@mickmister Yes, PMI should be disabled on the Zoom side and enabled on MM. |
@raghavaggarwal2308 I mean, does this error still show up if the user just wants to create a meeting with a unique meeting id? |
@mickmister No, only when the user is trying to create a meeting with PMI and it's disabled on Zoom. |
@raghavaggarwal2308 One thing comes to mind that maybe we should keep the two options showing if we reach that error, so the user can recorrect their action as:
Or we can let them know before that step and say something like "We've disabled the PMI button because you don't have zoom configured correctly" I'll defer this UX decision to @asaadmahmood or @matthewbirtch |
I think if the user tries to create the meeting without the PMI configured, we just automatically create the meeting without asking the user, but let him know that his PMI is not configured in zoom, so he can't create a meeting using it. And once he has configured his PMI, we can ask him again when he tries to create a new zoom meeting. |
@mickmister Made the changes suggested by @asaadmahmood. Now we are creating a meeting with unique meeting ID if PMI is disabled on Zoom side and enabled on MM. |
@asaadmahmood Are you able to take this PR for a spin to see the flow in action? |
@raghavaggarwal2308 Is it possible to create a video recording of the flow and send it here? |
@asaadmahmood @mickmister Here is a recording with all the different flows for creating a meeting: Demo video |
@raghavaggarwal2308 Looks good to me |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one comment about sending errors back to the client
meetingID, createMeetingErr = p.createMeetingWithoutPMI(user, zoomUser, req.ChannelID, topic) | ||
if createMeetingErr != nil { | ||
p.API.LogWarn("failed to create the meeting", "Error", createMeetingErr.Error()) | ||
http.Error(w, createMeetingErr.Error(), http.StatusInternalServerError) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this call to http.Error
make this error show in the client? Maybe we want something more user-friendly if so. Wondering about the other calls to http.Error
as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mickmister Yes, the error is shown to the client. Do you want us to show the user a generic message whenever we get an API error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It depends how low-level or cryptic these errors are. I trust your judgment on this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mickmister Updated, displaying a generic error to the user now.
webapp/src/actions/index.js
Outdated
let m = error.message; | ||
if (error.message && error.message[0] === '{') { | ||
const e = JSON.parse(error.message); | ||
|
||
// Error is from Zoom API | ||
if (e && e.message) { | ||
m = '\nZoom error: ' + e.message; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm this error may have some useful context for why the meeting couldn't start, like something going on with the user's zoom account. I'm thinking this can stay
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mickmister Reverted the changes to display generic error message
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's mainly when we enter the "Error is from Zoom API" block that I'm thinking we should show the provided error. If the others from our server are more cryptic/low-level, then let's only show the error from error.message
if the error came from Zoom, meaning we are in the "Error is from Zoom API" block here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mickmister Just to clarify, if we are in the "Error is from Zoom API" block, then we show the error from the API and show a generic error otherwise. Right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@raghavaggarwal2308 Yes that sounds right to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mickmister Updated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested the PR for the ephemeral message generated and the meeting created when the user has disabled the personal meeting on their zoom account and has selected yes
in the message generated for /zoom settings
.
The PR is working Fine. LGTM
Note: The message displayed in the screenshot for the ephemeral message is updated according to the discussion in the PR and is verified.
cc @AayushChaudhary0001
Summary
/zoom settings
command not working in the threads view.Screenshot
What to test?
Steps to reproduce:
/zoom settings
command and set the "Use your Personal Meeting ID" setting to "Yes"./zoom start
command OR click on the Zoom icon in the app bar.Environment:
MM version: v9.2.2
Node version: 14.18.0
Go version: 1.20.11
Ticket Link
Fixes #199