-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GH-47817]- remove messageManuallyMarkedUnread and manual handling of… #49367
[GH-47817]- remove messageManuallyMarkedUnread and manual handling of… #49367
Conversation
…ndling of the unread marker so that we rely on the BE information about the last unread action
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
I have read the CLA Document and I hereby sign the CLA |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM. Be sure the test steps from this PR also still work.
@arosiclair thanks, I tested both the ones in the PR checklist and the ones in the comments and it tests well. To the reviewer: The ESLint failures have nothing to do with what I changed, do I still need to solve them? |
@@ -245,19 +236,18 @@ function ReportActionsList({ | |||
} | |||
|
|||
return null; | |||
}, [accountID, sortedVisibleReportActions, unreadMarkerTime, messageManuallyMarkedUnread]); | |||
}, [accountID, sortedVisibleReportActions, unreadMarkerTime]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
}, [accountID, sortedVisibleReportActions, unreadMarkerTime]); | |
}, [sortedVisibleReportActions, unreadMarkerTime]); |
Actually you should fix this
I'm not sure why there's an ESLint check on unchanged files, but I would think those do not need to be fixed. The failures in changed files do need to be fixed though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewer Checklist
Screenshots/VideosAndroid: Native49367.Android.mp4Android: mWeb Chrome49367.mWeb-Chrome.mp4iOS: Native49367.iOS.mp4iOS: mWeb Safari49367.mWeb-Safari.mp4MacOS: Chrome / Safari49367.Web.mp449367.Web.2.mp4MacOS: Desktop49367.Desktop.mp4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and tests well 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thank you. I think we need to fix the ESLint checks though.
@neil-marcellini based on this slack thread we should fix only errors in changed files |
Ok, thanks so much for explaining @klajdipaja. Merging with the ESLint check failing because it's unrelated to these changes, and it's being handled in the PRs the contributor linked in that Slack message above. |
@neil-marcellini looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/neil-marcellini in version: 9.0.40-0 🚀
|
🚀 Deployed to production by https://github.com/AndrewGable in version: 9.0.40-6 🚀
|
The changes from this PR led to the following issue: because before the changes implemented in this PR, we were ignoring any message that the current user sends, unless the user marked it as unread manually. To fix the issue we applied the solution from this proposal, read all the context from the contributor to better understand the issue and the solution implemented to fix it. |
cc. @arosiclair
Details
This PR simplifies the logic related to the unread marker in the chat so that we can rely more on the unread state of the report actions from the backend instead of a local state.
Fixed Issues
$ #47817
PROPOSAL: #47817 (comment)
Tests
Mark unread user messages:
Unread messages in thread
Unread messages between devices
Offline tests
The first two cases can be tested as they are in offline mode. The third one would be as follows:
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
android_native_mark.unread2.mov
Android: mWeb Chrome
android.mweb.mark.unread.testing.mov
iOS: Native
ios.native.mark.unread.2.mov
iOS: mWeb Safari
ios.mweb.safari.mark.unread.testing.mov
MacOS: Chrome / Safari
MacOs-Chrome-mark-unread-testing2.mov
MacOS: Desktop
MacOs.Desktop-mar-unread-testing2.mov