Skip to content

Commit e149717

Browse files
authored
Merge pull request #85544 from Expensify/jsenyitko-composer
[NO QA] Composer Performance Improvements
2 parents af79779 + 4b89dba commit e149717

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

src/components/Composer/implementation/index.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,13 @@ function Composer({
5353
ref,
5454
...props
5555
}: ComposerProps) {
56-
const textContainsOnlyEmojis = useMemo(() => containsOnlyEmojis(Parser.htmlToText(Parser.replace(value ?? ''))), [value]);
56+
const textContainsOnlyEmojis = useMemo(() => {
57+
if (!value) {
58+
return false;
59+
}
60+
return containsOnlyEmojis(Parser.htmlToText(Parser.replace(value)));
61+
}, [value]);
62+
5763
const theme = useTheme();
5864
const styles = useThemeStyles();
5965
const session = useSession();

src/libs/EmojiUtils.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,10 @@ function isFirstLetterEmoji(message: string): boolean {
220220
* Validates that this message contains only emojis
221221
*/
222222
function containsOnlyEmojis(message: string): boolean {
223+
if (!message) {
224+
return false;
225+
}
226+
223227
const trimmedMessage = Str.replaceAll(message.replaceAll(' ', ''), '\n', '');
224228
const match = trimmedMessage.match(CONST.REGEX.ALL_EMOJIS);
225229

0 commit comments

Comments
 (0)