-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Problem
We've struggled with on-going issues and regressions related to the reliability of the green "new" line that marks the boundary between new chats and old ones. At the moment we minimally have several issues that are being tackled separately, though the root cause is arguably the same. We're duplicating work, or worse, fixing things in one place to potentially break them in the other.
Solution
Let's devise a holistic plan for the "new" marker that definitely solves the root cause, and just as importantly, ensures that our solution creates stability around a feature that has been unstable so far. Knowing where a conversation ended and where it's starting anew is critical, because after all, we're a chat app.
Current Issues
- Message is not marked as read in LHN when opening same message again #13740
- [Hold][$2000] Unread message shows as bold in the LHN but green line does not appear #15019
- [$1000] "----------New" message removed after two replies. #15064
- [Hold for #15212][$1000] Add FailureData for NewDot MarkAsUnread command so that it can revert values correctly #15266
- Web - Chat - Read messages in open chat get "New" marker after page refresh #15742
- [Hold #15212] Unread message indicator persists on mobile version despite opening and reacting to message #17207
- [PAY HUZAIFA][HOLD ON #15212] [$1000] The 'new messages' floating indicator doesnt go away after clicking it #21288
- [HOLD #15212] Web - Green "New" line indicator does not disappear after marking as read from LHN #21453
- [Hold PR#25935][$1000] Android - Chat - New unread message is marked read when user reads old unread message offline #20959
- [Hold for #15212] Web - New green line appears on receiver side and doesn't disappear after deleting a message if it is flagged #22238
DESIGN DOC ➡️
Proposal
Redesign Unread marker(The "New" marker line)
whatsnext: https://expensify.slack.com/archives/CC7NECV4L/p1686749939851689
Pre-design1: https://expensify.slack.com/archives/C01GTK53T8Q/p1678250769318789
Pre-design2: https://expensify.slack.com/archives/C01GTK53T8Q/p1684836449852569
Tasks
- Post Proposal (full Problem/Solution statement) in
#whatsnext - Wait at least one full business day, and until the post has a majority (2/3) of positive reactions (👍)
- Paste Proposal in the space above with a link to the Slack thread
- Email
strategy@expensify.comand paste in the Proposal - Fill out the High-level overview of the problem, Timeline, and Terminology sections of the Design Doc
- Email
strategy@expensify.com(continue the same email chain as before) with the link to your Design Doc - Host a pre-design meeting (example) in an appropriate slack channel to discuss any necessary details in public before filling out the High-level of proposed solution section.
- Fill out the High-level of proposed solution section
- Email
stategy@expensify.comagain with links to the doc and pre-design conversation in Slack - Add the
DesignDocReviewlabel to get the High-level of proposed solution section reviewed - Respond to any questions or concerns and bring up blockers in Slack to get a consensus if necessary
- Confirm that the doc has the minimum necessary number of reviews before proceeding
- Host another pre-design meeting in the appropriate slack channel to ask for engineering feedback on the technical solution.
- Fill out the Detailed implementation of the solution and related sections.
- Re-add the
DesignDocReviewlabel to this issue - Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary
- Confirm that the doc has the minimum necessary number of reviews before proceeding
- Email
strategy@expensify.comone last time to let them know the Design Doc is moving into the implementation phase - Implement the changes
- Send out a follow up email to
strategy@expensify.comonce everything has been implemented and do a Project Wrap-Up retrospective that provides:- Summary of what we accomplished with this project
- What went well?
- What could we have done better?
- What did we learn?