From 1647cf9c5134394e76d008d51f413ed534749b57 Mon Sep 17 00:00:00 2001 From: Dennis Kawawa Date: Fri, 1 Apr 2022 09:13:12 +0300 Subject: [PATCH 1/5] updated regex for detecting attachments --- src/libs/actions/Report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 2767abf30d72..1adea76e1189 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -183,7 +183,7 @@ function getSimplifiedReportObject(report) { const createTimestamp = lodashGet(report, 'lastActionCreated', 0); const lastMessageTimestamp = moment.utc(createTimestamp).unix(); const lastActionMessage = lodashGet(report, ['lastActionMessage', 'html'], ''); - const isLastMessageAttachment = /]+)\/>/gi.test(lastActionMessage); + const isLastMessageAttachment = /<\/?(a|img|...)\b[^<>]*>/gi.test(lastActionMessage); const chatType = lodashGet(report, ['reportNameValuePairs', 'chatType'], ''); let lastMessageText = null; From 747215f8fb752548329deddf5cca5bfa160bb90e Mon Sep 17 00:00:00 2001 From: Dennis Kawawa Date: Fri, 1 Apr 2022 14:15:17 +0300 Subject: [PATCH 2/5] filter anchor tags --- src/libs/actions/Report.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 1adea76e1189..d425dc88c980 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -183,9 +183,11 @@ function getSimplifiedReportObject(report) { const createTimestamp = lodashGet(report, 'lastActionCreated', 0); const lastMessageTimestamp = moment.utc(createTimestamp).unix(); const lastActionMessage = lodashGet(report, ['lastActionMessage', 'html'], ''); - const isLastMessageAttachment = /<\/?(a|img|...)\b[^<>]*>/gi.test(lastActionMessage); + const isLastMessageAttachment = /]*data-expensify-source\s*=\s*"[^"]*"[^>]*>/gi.test(lastActionMessage); const chatType = lodashGet(report, ['reportNameValuePairs', 'chatType'], ''); + console.log("LastActionMessage",lastActionMessage); + let lastMessageText = null; if (report.reportActionCount > 0) { // We are removing any html tags from the message html since we cannot access the text version of any comments as From 78adfe08de67bd6f8d67733622a546beca10b0e9 Mon Sep 17 00:00:00 2001 From: Dennis Kawawa Date: Fri, 1 Apr 2022 17:06:24 +0300 Subject: [PATCH 3/5] [nit] remove debug log --- src/libs/actions/Report.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index d425dc88c980..11bcf8850e0b 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -186,8 +186,6 @@ function getSimplifiedReportObject(report) { const isLastMessageAttachment = /]*data-expensify-source\s*=\s*"[^"]*"[^>]*>/gi.test(lastActionMessage); const chatType = lodashGet(report, ['reportNameValuePairs', 'chatType'], ''); - console.log("LastActionMessage",lastActionMessage); - let lastMessageText = null; if (report.reportActionCount > 0) { // We are removing any html tags from the message html since we cannot access the text version of any comments as From a80059948ddff916c8507bc9eb353d154ca10e77 Mon Sep 17 00:00:00 2001 From: Dennis Kawawa Date: Wed, 6 Apr 2022 13:13:25 +0300 Subject: [PATCH 4/5] added CONST source attribute --- src/CONST.js | 2 ++ src/libs/actions/Report.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/CONST.js b/src/CONST.js index 0ecb1aedf48a..1d310073b3bf 100755 --- a/src/CONST.js +++ b/src/CONST.js @@ -379,6 +379,8 @@ const CONST = { DECIMAL_PAD: 'decimal-pad', }, + ATTACHMENT_SOURCE_ATTRIBUTE : 'data-expensify-source', + ATTACHMENT_PICKER_TYPE: { FILE: 'file', IMAGE: 'image', diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 11bcf8850e0b..fbfe1451832c 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -183,7 +183,7 @@ function getSimplifiedReportObject(report) { const createTimestamp = lodashGet(report, 'lastActionCreated', 0); const lastMessageTimestamp = moment.utc(createTimestamp).unix(); const lastActionMessage = lodashGet(report, ['lastActionMessage', 'html'], ''); - const isLastMessageAttachment = /]*data-expensify-source\s*=\s*"[^"]*"[^>]*>/gi.test(lastActionMessage); + const isLastMessageAttachment = new RegExp(`]*${CONST.ATTACHMENT_SOURCE_ATTRIBUTE}\\s*=\\s*"[^"]*"[^>]*>`,"gi").test(lastActionMessage); const chatType = lodashGet(report, ['reportNameValuePairs', 'chatType'], ''); let lastMessageText = null; From 2e7fa66b203ca828c4f8137533b079f369839db2 Mon Sep 17 00:00:00 2001 From: Dennis Kawawa Date: Wed, 6 Apr 2022 22:14:08 +0300 Subject: [PATCH 5/5] [nit] lint fix --- src/CONST.js | 2 +- src/libs/actions/Report.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CONST.js b/src/CONST.js index 1d310073b3bf..9a2140b11130 100755 --- a/src/CONST.js +++ b/src/CONST.js @@ -379,7 +379,7 @@ const CONST = { DECIMAL_PAD: 'decimal-pad', }, - ATTACHMENT_SOURCE_ATTRIBUTE : 'data-expensify-source', + ATTACHMENT_SOURCE_ATTRIBUTE: 'data-expensify-source', ATTACHMENT_PICKER_TYPE: { FILE: 'file', diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index fbfe1451832c..80856fc8e4c3 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -183,7 +183,7 @@ function getSimplifiedReportObject(report) { const createTimestamp = lodashGet(report, 'lastActionCreated', 0); const lastMessageTimestamp = moment.utc(createTimestamp).unix(); const lastActionMessage = lodashGet(report, ['lastActionMessage', 'html'], ''); - const isLastMessageAttachment = new RegExp(`]*${CONST.ATTACHMENT_SOURCE_ATTRIBUTE}\\s*=\\s*"[^"]*"[^>]*>`,"gi").test(lastActionMessage); + const isLastMessageAttachment = new RegExp(`]*${CONST.ATTACHMENT_SOURCE_ATTRIBUTE}\\s*=\\s*"[^"]*"[^>]*>`, 'gi').test(lastActionMessage); const chatType = lodashGet(report, ['reportNameValuePairs', 'chatType'], ''); let lastMessageText = null;