# Tickets and tasks related to the performance of the application Epic Ticket: https://lftechnology.atlassian.net/browse/UNTAP-1344 1. ### Duplicate Fetch task API request **Ticket**: https://lftechnology.atlassian.net/browse/UNTAP-1113 Fetch task API request is made based on the planning period date. Currently fetch task API request is made twice that is the first request is made with default planning period date(i.e current date) and another request is made once we get the actual planning period from API. This result in showing different task lists and multiple loading states **Solution**: Only make the fetch task API request once we got actual planning period date information from fetch planning period API request. 2. ### Updating loading state before async operation completed ![](https://i.imgur.com/M9PUvYV.png) From the above code snippets, we can see that we are setting taskLoading to false even though the async operation is not completed. Similar issue with `fetchPlans()` **Solution**: Update the loading state only after async operation is completed ![](https://i.imgur.com/8r50SfH.png) 3. ### Showing previously loaded user information initial **Ticket:** https://lftechnology.atlassian.net/browse/UNTAP-1598 All the routes(`/plans, /goals, /assignments, /personal-info, /academic-info, /assessment`) have the same issue of showing the previous user information on initial load and changed to actual data after API is completed. The issue happens because we are showing the previously loaded user information from `Redux store`. **Solution**: We have the `fetchStudentLoading` flag which keeps track of API request state. So we need to only show user information after API is completed so that it won't show old data from `Redux store`. However conditional showing text might result in a change in layout height. So in order to have a consistent UI layout even on loading state, we can make `skeleton loader UI` something like this ![](https://i.imgur.com/wwYQnGd.png) Reference: https://www.npmjs.com/package/react-loading-skeleton 4. User chat was not always loaded, as expected. Ticket: https://lftechnology.atlassian.net/browse/UNTAP-1589 ![](https://i.imgur.com/9lu4eBt.png) Currently, this is how the selected Student chat showed on the right-side panel. The issue with this approach is that we getting a student from redux store so if the redux store already contains student data from previous student API request then initially it will show the chat of previous student from the redux store and once the new student API is completed it switch chat to a current student.