From 99de79a5e399d526fbd1dc4ba9bc4e27966bc220 Mon Sep 17 00:00:00 2001 From: Vit Horacek Date: Wed, 7 Feb 2024 16:00:52 +0000 Subject: [PATCH 1/3] Return early when the email is not defined --- src/libs/LoginUtils.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libs/LoginUtils.ts b/src/libs/LoginUtils.ts index 3781890013eb..ae34247be3d6 100644 --- a/src/libs/LoginUtils.ts +++ b/src/libs/LoginUtils.ts @@ -29,6 +29,9 @@ function appendCountryCode(phone: string): string { * Check email is public domain or not */ function isEmailPublicDomain(email: string): boolean { + if (!email) { + return false; + } const emailDomain = Str.extractEmailDomain(email).toLowerCase(); return (PUBLIC_DOMAINS as readonly string[]).includes(emailDomain); } From a9f30d017626da61dfcf6c1a6d1717ee51ca05be Mon Sep 17 00:00:00 2001 From: Vit Horacek Date: Wed, 7 Feb 2024 16:39:55 +0000 Subject: [PATCH 2/3] Return when some email is not defined --- src/libs/LoginUtils.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libs/LoginUtils.ts b/src/libs/LoginUtils.ts index ae34247be3d6..384abc561c2f 100644 --- a/src/libs/LoginUtils.ts +++ b/src/libs/LoginUtils.ts @@ -69,6 +69,9 @@ function areEmailsFromSamePrivateDomain(email1: string, email2: string): boolean if (isEmailPublicDomain(email1) || isEmailPublicDomain(email2)) { return false; } + if (!email1 || !email2) { + return false; + } return Str.extractEmailDomain(email1).toLowerCase() === Str.extractEmailDomain(email2).toLowerCase(); } From f39b76a2c2e3daff4e94b78a9e427ae7e8379b12 Mon Sep 17 00:00:00 2001 From: Vit Horacek Date: Wed, 7 Feb 2024 16:48:53 +0000 Subject: [PATCH 3/3] Default to empty string if login is not present --- .../HTMLEngineProvider/HTMLRenderers/MentionUserRenderer.js | 2 +- src/libs/LoginUtils.ts | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/components/HTMLEngineProvider/HTMLRenderers/MentionUserRenderer.js b/src/components/HTMLEngineProvider/HTMLRenderers/MentionUserRenderer.js index cd6ada90b58b..eb4f5f763dbe 100644 --- a/src/components/HTMLEngineProvider/HTMLRenderers/MentionUserRenderer.js +++ b/src/components/HTMLEngineProvider/HTMLRenderers/MentionUserRenderer.js @@ -49,7 +49,7 @@ function MentionUserRenderer(props) { } // If the emails are not in the same private domain, we also return the displayText - if (!LoginUtils.areEmailsFromSamePrivateDomain(displayText, props.currentUserPersonalDetails.login)) { + if (!LoginUtils.areEmailsFromSamePrivateDomain(displayText, lodashGet(props.currentUserPersonalDetails, 'login', ''))) { return displayText; } diff --git a/src/libs/LoginUtils.ts b/src/libs/LoginUtils.ts index 384abc561c2f..3781890013eb 100644 --- a/src/libs/LoginUtils.ts +++ b/src/libs/LoginUtils.ts @@ -29,9 +29,6 @@ function appendCountryCode(phone: string): string { * Check email is public domain or not */ function isEmailPublicDomain(email: string): boolean { - if (!email) { - return false; - } const emailDomain = Str.extractEmailDomain(email).toLowerCase(); return (PUBLIC_DOMAINS as readonly string[]).includes(emailDomain); } @@ -69,9 +66,6 @@ function areEmailsFromSamePrivateDomain(email1: string, email2: string): boolean if (isEmailPublicDomain(email1) || isEmailPublicDomain(email2)) { return false; } - if (!email1 || !email2) { - return false; - } return Str.extractEmailDomain(email1).toLowerCase() === Str.extractEmailDomain(email2).toLowerCase(); }