Skip to content
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

[ReportActionsView] Isolate view/render logic from the "unread business logic" #8829

Closed
marcaaron opened this issue Apr 29, 2022 · 0 comments
Assignees
Labels
Engineering Improvement Item broken or needs improvement. Internal Requires API changes or must be handled by Expensify staff Weekly KSv2

Comments

@marcaaron
Copy link
Contributor

Problem

ReportActionsView has grown in size and has many responsibilities which can make it hard to reason about. There is logic that is primarily related to rendering the list of messages in a chat mixed together with several other things e.g.

  • Performance code for timing the rendering of this list
  • Floating message counter logic
  • New marker logic
  • Render methods for FlatList
  • Data fetching
  • etc.

It's a lot.

Solution

Move the stuff related to FlatList and anything that can be separated from the more complicated logic related to setting an "unread" message out of the ReportActionsView and into a ReportActionsList component that will simply render the chat list.

@marcaaron marcaaron added Engineering Weekly KSv2 Improvement Item broken or needs improvement. Internal Requires API changes or must be handled by Expensify staff labels Apr 29, 2022
@marcaaron marcaaron self-assigned this Apr 29, 2022
@melvin-bot melvin-bot bot closed this as completed May 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Engineering Improvement Item broken or needs improvement. Internal Requires API changes or must be handled by Expensify staff Weekly KSv2
Projects
None yet
Development

No branches or pull requests

1 participant