From d2798f77820b8f80e437e6d01966e11085f11e9c Mon Sep 17 00:00:00 2001 From: Yogesh Dasi Date: Tue, 18 Jan 2022 17:24:00 +0530 Subject: [PATCH] ZCS-11145: use text/html for appointment description ignoring x-alt-desc for ms team invites --- .../java/com/zimbra/common/localconfig/LC.java | 2 ++ .../com/zimbra/cs/mailbox/calendar/Invite.java | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/common/src/java/com/zimbra/common/localconfig/LC.java b/common/src/java/com/zimbra/common/localconfig/LC.java index 9d224d8dbc9..e7ad14d13b8 100644 --- a/common/src/java/com/zimbra/common/localconfig/LC.java +++ b/common/src/java/com/zimbra/common/localconfig/LC.java @@ -1463,6 +1463,8 @@ public enum PUBLIC_SHARE_VISIBILITY { samePrimaryDomain, all, none }; @Supported public static final KnownKey delivery_report_enabled = KnownKey.newKey(true); + public static final KnownKey invite_ignore_x_alt_description = KnownKey.newKey(true); + static { // Automatically set the key name with the variable name. for (Field field : LC.class.getFields()) { diff --git a/store/src/java/com/zimbra/cs/mailbox/calendar/Invite.java b/store/src/java/com/zimbra/cs/mailbox/calendar/Invite.java index 70390941478..06ac5171402 100644 --- a/store/src/java/com/zimbra/cs/mailbox/calendar/Invite.java +++ b/store/src/java/com/zimbra/cs/mailbox/calendar/Invite.java @@ -515,9 +515,18 @@ public static Invite decodeMetadata(int mailboxId, Metadata meta, CalendarItem c String descHtml = descInMeta ? meta.get(FN_DESC_HTML, null) : null; String xDescHtml = descInMeta ? meta.get(FN_X_ZIMBRA_DESC_HTML, null) : null; - // if desc html is missing but desc is present - if (desc != null && descHtml == null) { - descHtml = Util.textToHtml(desc); + boolean hasXMicrosoftHeader = false; + for (Map.Entry entry : meta.asMap().entrySet()) { + if (entry.getValue().toString().contains("X-MICROSOFT-SKYPETEAMSMEETINGURL")) { + hasXMicrosoftHeader = true; + break; + } + } + + // update HTML description if invite_ignore_x_alt_description is true + // and contains X-MICROSOFT headers + if (hasXMicrosoftHeader && !StringUtil.isNullOrEmpty(xDescHtml) && LC.invite_ignore_x_alt_description.booleanValue()) { + descHtml = xDescHtml; } long completed = meta.getLong(FN_COMPLETED, 0);