From 1665ba4eac8bce80edcb0786af2d9161773f669a Mon Sep 17 00:00:00 2001 From: Vyacheslav Tumanov Date: Sat, 8 Jul 2023 14:15:36 +0500 Subject: [PATCH] UBER-554: show messages with error and allow resending (#3488) Signed-off-by: Vyacheslav Tumanov --- plugins/gmail-assets/lang/en.json | 3 ++- plugins/gmail-assets/lang/ru.json | 3 ++- .../src/components/Chats.svelte | 19 +++++++++++++++-- .../src/components/Connect.svelte | 2 +- .../src/components/FullMessage.svelte | 19 +++++++++++++---- .../src/components/Message.svelte | 21 ++++++++++++++----- plugins/gmail-resources/src/plugin.ts | 3 ++- 7 files changed, 55 insertions(+), 15 deletions(-) diff --git a/plugins/gmail-assets/lang/en.json b/plugins/gmail-assets/lang/en.json index f68e4974ac..f06feff8df 100644 --- a/plugins/gmail-assets/lang/en.json +++ b/plugins/gmail-assets/lang/en.json @@ -13,10 +13,11 @@ "ShareMessages": "Share messages", "Connect": "Connect", "RedirectGoogle": "You will be redirect to google auth page", - "ConnectGmai": "Connect Gmail account", + "ConnectGmail": "Connect Gmail account", "Reply": "Reply", "Subject": "Subject", "Send": "Send", + "Resend": "Resend", "NewMessage": "New message", "NewMessageTo": "New message to", "Cancel": "Cancel", diff --git a/plugins/gmail-assets/lang/ru.json b/plugins/gmail-assets/lang/ru.json index 33a6985d67..dad35785ce 100644 --- a/plugins/gmail-assets/lang/ru.json +++ b/plugins/gmail-assets/lang/ru.json @@ -13,10 +13,11 @@ "ShareMessages": "Поделиться сообщениями", "Connect": "Подключить", "RedirectGoogle": "Вы будете перенаправлены на страницу авторизации Google", - "ConnectGmai": "Подключить Gmail", + "ConnectGmail": "Подключить Gmail", "Reply": "Ответить", "Subject": "Тема", "Send": "Отправить", + "Resend": "Переотправить", "NewMessage": "Новое сообщение", "NewMessageTo": "Новое сообщение для", "Cancel": "Отменить", diff --git a/plugins/gmail-resources/src/components/Chats.svelte b/plugins/gmail-resources/src/components/Chats.svelte index 8cf83a1b10..c70849e5b2 100644 --- a/plugins/gmail-resources/src/components/Chats.svelte +++ b/plugins/gmail-resources/src/components/Chats.svelte @@ -31,21 +31,36 @@ export let newMessage: boolean export let enabled: boolean - let messages: Message[] = [] + let plainMessages: Message[] = [] + let newMessages: Message[] = [] + $: messages = newMessages.concat(plainMessages) let selected: Set> = new Set>() let selectable = false const messagesQuery = createQuery() + const newMessageQuery = createQuery() const notificationClient = NotificationClientImpl.getClient() + newMessageQuery.query( + gmail.class.NewMessage, + { + to: channel.value, + status: 'error' + }, + (res) => { + newMessages = res as unknown as Message[] + }, + { sort: { createdOn: SortingOrder.Descending } } + ) + function updateMessagesQuery (channelId: Ref): void { messagesQuery.query( gmail.class.Message, { attachedTo: channelId }, (res) => { - messages = res + plainMessages = res notificationClient.read(channelId) }, { sort: { sendOn: SortingOrder.Descending } } diff --git a/plugins/gmail-resources/src/components/Connect.svelte b/plugins/gmail-resources/src/components/Connect.svelte index 34b053129b..0ace682cad 100644 --- a/plugins/gmail-resources/src/components/Connect.svelte +++ b/plugins/gmail-resources/src/components/Connect.svelte @@ -48,7 +48,7 @@
-
+
@@ -42,7 +44,7 @@
- {getTime(message.sendOn)} + {!isError ? getTime(message.sendOn) : getTime(message.modifiedOn)}
@@ -52,9 +54,18 @@
{message.subject}
-
- {message.textContent} -
+ {#if !isError} +
+ {message.textContent} +
+ {/if} + {#if isError} +
+ Error: {errorMessage && errorMessage?.error + ? JSON.parse(errorMessage.error)?.data?.error_description + : undefined ?? 'unknown error'} +
+ {/if}
{#if selectable}
diff --git a/plugins/gmail-resources/src/plugin.ts b/plugins/gmail-resources/src/plugin.ts index 913eb4c6e7..50d7c8a09a 100644 --- a/plugins/gmail-resources/src/plugin.ts +++ b/plugins/gmail-resources/src/plugin.ts @@ -29,10 +29,11 @@ export default mergeIds(gmailId, gmail, { ShareMessages: '' as IntlString, Connect: '' as IntlString, RedirectGoogle: '' as IntlString, - ConnectGmai: '' as IntlString, + ConnectGmail: '' as IntlString, Reply: '' as IntlString, Subject: '' as IntlString, Send: '' as IntlString, + Resend: '' as IntlString, NewMessage: '' as IntlString, NewMessageTo: '' as IntlString, Cancel: '' as IntlString,