From ace51b9188d8c4678cbb5dae58e84beeeed963c4 Mon Sep 17 00:00:00 2001 From: Lev <1187448+levb@users.noreply.github.com> Date: Thu, 31 Jan 2019 08:51:50 -0800 Subject: [PATCH] Improved the error messages for Zoom API failures (MM-13814) (#16) --- server/zoom/client.go | 2 +- webapp/src/actions/index.js | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/server/zoom/client.go b/server/zoom/client.go index 334a938b..57e87f83 100644 --- a/server/zoom/client.go +++ b/server/zoom/client.go @@ -110,7 +110,7 @@ func (c *Client) request(method string, path string, data interface{}, ret inter defer closeBody(rp) buf := new(bytes.Buffer) buf.ReadFrom(rp.Body) - return &ClientError{rp.StatusCode, fmt.Sprintf("response_body=%v", c.BaseUrl+path)} + return &ClientError{rp.StatusCode, buf.String()} } else { defer closeBody(rp) buf := new(bytes.Buffer) diff --git a/webapp/src/actions/index.js b/webapp/src/actions/index.js index 326538af..d52a231d 100644 --- a/webapp/src/actions/index.js +++ b/webapp/src/actions/index.js @@ -10,6 +10,13 @@ export function startMeeting(channelId) { try { await Client.startMeeting(channelId, true); } catch (error) { + let m = 'We could not verify your Mattermost account in Zoom. Please ensure that your Mattermost email address matches your Zoom email address.'; + if (error.response && error.response.text) { + const e = JSON.parse(error.response.text); + if (e && e.message) { + m = 'Zoom error: ' + e.message; + } + } const post = { id: 'zoomPlugin' + Date.now(), create_at: Date.now(), @@ -22,7 +29,7 @@ export function startMeeting(channelId) { root_id: '', parent_id: '', original_id: '', - message: 'We could not verify your Mattermost account in Zoom. Please ensure that your Mattermost email address matches your Zoom email address.', + message: m, type: 'system_ephemeral', props: {}, hashtags: '',