fix: room chat - whisper displays 1 mention when 2 mentions are send in specific way#804
Conversation
|
@rojiphil Done |
| name: 'reportMentions', | ||
|
|
||
| regex: /(?<![^ \n*~_])(#[\p{Ll}0-9-]{1,99})(?![^<]*(?:<\/pre>|<\/code>|<\/a>))/gimu, | ||
| regex: /(?<![^ \n*~_-])(#[\p{Ll}0-9]{1,99})(?![^<]*(?:<\/pre>|<\/code>|<\/a>))/gimu, |
There was a problem hiding this comment.
I remove the minus sign - after 0-9 because it will match any word containing minus sign - meaning
If we not remove the minus sign - and we type #user1-#user2 the output will be:
#user1- #user2
After removing:
#user1 #user2
There was a problem hiding this comment.
I think if we remove the - minus sign it will cause other issue like:
typing #room-test the mention-report tag will only wrap #room
But if we don't remove the - minus sign it will show like this #user1- #user2 if we type #user1-#user2
There was a problem hiding this comment.
Tests are failling actually
There was a problem hiding this comment.
Yes because the minus sign is removed after 0-9
There was a problem hiding this comment.
Yes because the minus sign is removed after
0-9
@NJ-2020 It does not look correct to remove the hyphen.
Yeah, that makes sense.
Ah! So, we can ignore |
|
Sorry for the delay expensify-common/lib/ExpensiMark.ts Line 306 in e97172c Just to make sure? |
yes. That's correct. Also, we should revert the change here as that's expected. |
|
Done |
|
@NJ-2020 The tests are failing. Did we break anything? Please check. |
|
Ah!, I know why we include the underscore inside the reportMentions regex, we include the underscore because we want to allow user to type italic room name expensify-common/__tests__/ExpensiMark-HTML-test.js Lines 2266 to 2269 in f11184e expensify-common/__tests__/ExpensiMark-HTML-test.js Lines 2285 to 2287 in f11184e As we can see the expected result if we put the underscore before and after the room name it should show in italic way i.e _#room_ should show #room
|
|
Ah that makes sense, let me investigate a little then I will get back to this. |
@rlinoz Sorry for the delayed response. I just tried the regex and here are the results. Looks fine to me. |
|
@rlinoz Sorry for the delay
I think it will not fix the issue, because it will match any room name if they are preceded by newline/space, so when we type expensify-common/__tests__/ExpensiMark-HTML-test.js Lines 2266 to 2269 in f11184e expensify-common/__tests__/ExpensiMark-HTML-test.js Lines 2285 to 2287 in f11184e But I don't know why when I tested inside the regexr website it matches the room name Please let me know if I miss something here |
|
@NJ-2020 ah yeah, you are right, that is because there was a mistake not accounting for special characters at the beginning of the line, thats why tests passed but your test on Chrome didn't work, we have no test where special characters are at the beginning I guess I think this new one should do it:
|
|
@rojiphil Yes, Looks good to me |
|
Sorry ^ accidently mistaken, I meant @rlinoz |
|
@NJ-2020 On making the regex changes directly in 46299-background-issue.mp4 |
|
@rojiphil It's because we did not update the react-native-live-markdown/parser |
rojiphil
left a comment
There was a problem hiding this comment.
It's because we did not update the react-native-live-markdown/parser
Ah ok. Got it. Thanks. Changes LGTM.
Since the version of expensify-common in latest E/App main is 2.0.94 whereas the latest version of expensify-common is 2.0.99 we can get this merged first as the changes will not be reflected in latest E/App main until we bump up the version there.
And the next PR would be as mentioned above. Finally, PR on E/App would be raised to update the Does this sound like the plan for us? |
|
@rlinoz Over to you for final review. |
|
🚀Published to npm in v2.0.100 |








Fixed Issues
$ Expensify/App#46299
PROPOSAL: Expensify/App#46299 (comment)
Tests
#user1-#user2QA
Details
Tests
#user1-#user2Offline tests
Same as Tests
QA Steps
Same as Tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop