-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Gantt render stop early before the completion of the Execution #6953
Gantt render stop early before the completion of the Execution #6953
Conversation
743f9bd
to
f691f7e
Compare
f691f7e
to
b987cd3
Compare
In the end I got rid of the real-time notion as it complexifies things too much. Ty for your contribution! |
Hey @brian-mulier-p, I just reproduced the issue with your changes in my PR and I saw that it did not solve the issue. |
That's really weird because I tried and reproduced before any changes and after mine I didn't reproduce anymore... Do you have a sample flow? Anyway we have to find a way to simplify the Gantt chart that's why I made those changes but maybe there's something more to do then... But the Gantt chart component was getting too complex and too painful to maintain. |
Hey @brian-mulier-p, I just checked and found that my local repo and Docker weren’t updated properly. After updating, everything seems to be working fine now. However, there’s an issue in Instead, we can check Would it be okay if I create a PR to solve this issue? Thanks! |
Ok no worries, for the Duration.vue I understand your logic however since the paint method is basically an auto-refresher till the state is no longer a running one, I can't see a case where it would fail. The watcher is here for cases where Vue reuses the same component but the props got changed so we can target a new durations, I'm not sure it's a wrong condition in such case so idk. |
Hey @brian-mulier-p, I tested further and was able to reproduce the issue. Here’s a video demonstrating the problem: Screen.Recording.2025-02-04.234429.mp4From what I observed, the duration does not update as expected in certain cases. This seems to confirm that the current watcher condition (if (oldValue[0].date !== newValue[0].date)) does not always trigger correctly. However, replacing it with oldValue.length !== newValue.length ensures the duration updates as intended. Here's the video demonstration after changes: Screen.Recording.2025-02-04.235043.mp4Let me know your thoughts! |
Ok understood, you can provide a PR and assign me as reviewer, thanks for this deep analysis 👍 |
Closes #6913
What changes are being made?
el-card
is rendered only ifexecution.taskRunList
is availabletasks
computed property is modified to populate its value whentaskRunList
is available.execution
watcher to prevent multiple renders when theexecution
object is updated multiple times in quick succession.paint
method is now called by theexecution
watcher when the component has received new data and the execution is not in aSUCCESS
state.compute
method is now called by theexecution
watcher when the component has received new data and the execution is in aSUCCESS
state.forEachItemsTaskRunIds
watcher is now only updating the state when the value has changed.computeSeries
andcomputeDates
methods are now being executed only if thetasks
computed property has a value to be used.histories
watcher makes sure that the duration is also calculated at the initial render.