-
Notifications
You must be signed in to change notification settings - Fork 326
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
Visualizations updates are not stable and leaving visualizations blank #6561
Comments
Question – we had so many issues about it already. Do we have any insights why it is happening? Why can't we just fix the GUI - backend communication once for all and prevent such issues from happening ever again? Basically, my question here is - what is exactly the cause of this / similar to this issues? Is it some kind of race condition / bugs in communication / something else? CC @4e6 as you'd probably know the answer to these questions :) |
The IDE has basically two feedback channels from the engine - expression and visualization updates. And when anything goes wrong, the user can only observe it by seeing the wrong updates. Here are the last issues related to visualizations
All causes were completely different |
The issue I can reproduce on the current develop seems like on the IDE side Peek.2023-05-05.15-37.mp4 |
Looking into it. |
May be related #6526 |
The bug still occurs on I suspect it's older than 02.05. The bug is sensitive to the exact testing procedure: Immediately after creating a new node the bug is present when editing the node, but if I open a project and edit an already existing node the bug isn't triggered. (This made attempts to narrow down the cause "interesting"). |
Michael Mauderer reports a new STANDUP for today (2023-05-08): Progress: Started investigating why visualizations are blank by reproducing the issue and adding more logging. It should be finished by 2023-05-10. Next Day: Next day I will be working on the #6561 task. Continue investigation Address question about recurring issues around visualisations. |
Michael Mauderer reports a new STANDUP for yesterday (2023-05-09): Progress: Found that the blank visualization is caused by a spurious FRP update that sets the visualization path and thus re-creates the visualization. But since the node is not re-evaluated as it was already evaluated for preview, the engine sends no data update. It should be finished by 2023-05-10. Next Day: Next day I will be working on the #6561 task. Check if this solves all described scenarios. Investigate missing colouring that also happens in this scenario. |
Michael Mauderer reports a new STANDUP for today (2023-05-15): Progress: Still investigating the missing data update when full-screen visualization is opened before data arrives. So far it seems to not only be related to FRP sheninigans but an inconsistent state in the controller: the visualisaiton seems to dissapear from the execution context just before it is meant to receive an update. But I am not sure why yet. It should be finished by 2023-05-15. Next Day: Next day I will be working on the #6561 task. Investigate remaining issues. |
Michael Mauderer reports a new 🔴 DELAY for today (2023-05-16): Summary: There is 4 days delay in implementation of the Visualizations updates are not stable and leaving visualizations blank (#6561) task. Delay Cause: Multiple bugs on this issue. The current investigation also seems to be caused by multiple issues: (1) a rare crash of the table visualization (2) a race condition that causes the visualization not to be parented correctly (3) a race condition that sometimes removes the visualization. Possible solutions: Implement easier bugs. |
Michael Mauderer reports a new STANDUP for today (2023-05-16): Progress: Still investigating the missing data update when full-screen visualization is opened before data arrives. So far, I solved an issue that the visualizations sometimes was not parented to the correct layer due to a race condition. Still investigating an issue where the visualization is not correctly restored after resetting it just before going full-screen. It should be finished by 2023-05-19. Next Day: Next day I will be working on the #6561 task. Investigate remaining issues. |
Addresses the issue described here: #6561 (comment) . This was caused by FRP events that would re-set the visualization path when ending the node editing. This would eventually clear the visualization before setting it again, losing the already received data. https://github.com/enso-org/enso/assets/1428930/6e324ddf-f365-48b8-bb2a-c68b2fbd24ef also addresses the issue described here #6561 (comment) https://github.com/enso-org/enso/assets/1428930/437f7822-7c35-48ba-a055-59d6f712a813 Note that now the default visualization is already shown on the first hover of the action bar, where before it was empty. This was caused by a faulty initialization.
Michael Mauderer reports a new STANDUP for yesterday (2023-05-17): Progress: After fixing some FRP bugs in the visualization pipeline, I found an issue with the controller not emitting the correct events during full-screen visualization. Investigating root cause. It should be finished by 2023-05-19. Next Day: Next day I will be working on the #6561 task. Investigate remaining issues. |
Michael Mauderer reports a new STANDUP for the provided date (2023-05-19): Progress: After some more investigation, I found that the actual root cause was a logic bug with the display/hide button, which w\s not triggered correctly when going full-screen. Starting to implement a + fix + some refactoring that will simplify the FRP logic around showing/hiding visualizations. It should be finished by 2023-05-19. Next Day: Next day I will be working on the #6561 task. Investigate remaining issues. |
Michael Mauderer reports a new 🔴 DELAY for today (2023-05-23): Summary: There is 3 days delay in implementation of the Visualizations updates are not stable and leaving visualizations blank (#6561) task. Delay Cause: Multiple bugs on this issue caused by excess complexity in the FRP networks around the visualization logic. Logic is distributed around multiple components (action bar / nodes / graph editor) and thus prone to breaking as different usages make different assumptions. Cleaning this up should decrease future maintenance burden and bugs in this code. Possible solutions: Implement easier bugs. |
Michael Mauderer reports a new 🔴 DELAY for today (2023-05-23): Summary: There is 2 days delay in implementation of the Visualizations updates are not stable and leaving visualizations blank (#6561) task. Delay Cause: Forgot to account for weekend days in the last delay. |
Michael Mauderer reports a new STANDUP for yesterday (2023-05-22): Progress: Continued work on fixing FRP issues and simplifying the logic. Found an existing issue with the show/hide buttons not distinguishing between API events and user events, which sometimes lead to multiple show/hide events for visualizations. It should be finished by 2023-05-24. Next Day: Next day I will be working on the #6561 task. Open PR for this round of fixes. |
Michael Mauderer reports a new STANDUP for yesterday (2023-05-23): Progress: Finalised the changes cleaning up code and testing against regressions. It should be finished by 2023-05-24. Next Day: Next day I will be working on the #6561 task. Starting next task. |
Michael Mauderer reports a new STANDUP for yesterday (2023-05-24): Progress: When testing, I noticed another regression that is now fixed. Opened PR. and started checking other open issues that could be resolved by this PR. It should be finished by 2023-05-24. Next Day: Next day I will be working on the #6561 task. Starting next task. |
Fixes * Empty Visualization when opening a full-screen visualization directly without opening the visualization before. #6770 https://github.com/enso-org/enso/assets/1428930/5812ed03-652c-4a27-8e33-b85512ca11b6 * Empty visualization when opening the full-screen visualization before the data for the visualization has arrived. #6561 https://github.com/enso-org/enso/assets/1428930/d8e58f2d-f1b6-4b70-84fa-e917f6c0af1f * Visualization is reset to default when reconnecting nodes #6673 https://github.com/enso-org/enso/assets/1428930/ac6cf79a-7147-4f13-9045-52599fb39900 * Redundant internal open/lose events caused by logic loops around the show/hide button, as well as many redundant layer setting/unsetting issues internal to the visualization code. Generally improves the logic around the visualization API by avoiding decentralized logic in different places and removing old code that is no longer needed.
Discord username
No response
What type of issue is this?
Transient – Occurring only once
Is this issue blocking you from using Enso?
Is this a regression?
What issue are you facing?
During building up use-cases and demos we observed the decrease in visualizations stability. That include:
Expected behaviour
Visualizations should be updated with the data as soon as data are available.
How we can reproduce it?
No response
Screenshots or screencasts
No response
Enso Version
nightly 04.05
Browser or standalone distribution
Standalone distribution
Browser Version or standalone distribution
standalone
Operating System
MacOS
Operating System Version
No response
Hardware you are using
No response
The text was updated successfully, but these errors were encountered: