fix: Handle rendering HTML only email in UI (#1987)

This commit is contained in:
Pranav Raj S 2021-03-27 13:29:04 +05:30 committed by GitHub
parent 8612f307b3
commit 8285f5df15
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 5 deletions

View file

@ -143,7 +143,9 @@ export default {
},
parsedLastMessage() {
return this.getPlainText(this.lastMessageInChat.content);
const { content_attributes: contentAttributes } = this.lastMessageInChat;
const { email: { subject } = {} } = contentAttributes || {};
return this.getPlainText(subject || this.lastMessageInChat.content);
},
chatInbox() {

View file

@ -107,11 +107,23 @@ export default {
this.contentAttributes,
this.$t('CONVERSATION.NO_RESPONSE')
);
let messageContent =
this.formatMessage(this.data.content, this.isATweet) +
botMessageContent;
return messageContent;
const {
email: { html_content: { full: fullHTMLContent } = {} } = {},
} = this.contentAttributes;
if (fullHTMLContent && this.isIncoming) {
let parsedContent = new DOMParser().parseFromString(
fullHTMLContent || '',
'text/html'
);
if (!parsedContent.getElementsByTagName('parsererror').length) {
return parsedContent.body.innerHTML;
}
}
return (
this.formatMessage(this.data.content, this.isATweet) + botMessageContent
);
},
contentAttributes() {
return this.data.content_attributes || {};
@ -261,4 +273,10 @@ export default {
margin-left: var(--space-smaller);
}
}
// This is a hack to hide quoted content from GMAIL
// Replace this with actual content parser
.gmail_quote {
display: none;
}
</style>