Make the time tracking sidebar widget and report more reactive
What does this MR do and why?
This is a follow-up of !88122 (merged) and related to #364500.
When adding the possibility to remove a timelog from the report using a button, I ended up manually updating the apollo cache in order to remove the timelog from the frontend data (thus updating the report). This led to some problems:
- it was inefficient
- the data on the time tracking widget on the sidebar was not automatically updated so I had to "brute force" an update when the report closed
This MR improves on that, taking advantage of apollo smart queries.
Screenshots or screen recordings
Registrazione_schermo_2022-08-12_alle_08.45.41
How to set up and validate locally
It should be sufficient to the if the time tracking widget and the report are updated correctly when:
- on Issues and Merge Requests
- adding a timelog with the
/spent
quick action - removing a timelog from the time tracking report
- adding a timelog with the
- on Milestones and Epics
- the data should only be visible on the sidebar
- the report should not be avaiable
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Marco Zille