-
Notifications
You must be signed in to change notification settings - Fork 2
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
Verify that RHS snapshots correctly reproduce the captured state #1419
Comments
@mwinokan to spend some time generating example snapshots and see how they perform |
Here is my list of found issues after analyzing 200+ snapshots:
Identified but not relevant (says Frank)
Other findings related to representations and vector selector:
|
@boriskovar-m2ms says the issues all arise because the action doesn't exist, action data is out of date, or the restoration process is broken. 12 might be more time consuming though, because the representation is being stored rather than the values. The custom representation dialog has been made by M2M and @phraenquex says they are non-intuitive and 12 should be a new ticket. 10-12 have been covered by #1462
|
This is not snapshot related but |
Point 6 is broken also for RHS for inspirations. Thought I was going to reuse it for LHS but it seems that it was actually never implemented for RHS and preliminary analysis shows that implementation is not easy because there is a lot of moving parts and also lot of coroner cases like for example but not only we are scrolling to first visible item but what if we have a this dialog open but it would be out of view and so on and so on. |
Point 7 is very very deep rabbit hole. For this one we need also point 6 implemented. We already have a mass actions when same action is performed on many objects of the same type and undo and redo should undo and redo all of these actions in one step. But this is a new kind of actions which I would call a composite action which means that there are performed many different actions on many different objects and they should be look like single action from the user point of view (just like mass action). |
@phraenquex says that @boriskovar-m2ms can skip the undo/redo functionality for the deep rabbit hole for point 7. @boriskovar-m2ms says we still need point 6 to restore the RHS state, but please check if there is a workaround. @boriskovar-m2ms has also thought about storing and restoring the state instead of storing the list of actions, off the shelf libraries for getting differences between states (for undo/redo) won't work because for us. @boriskovar-m2ms to fix the user-facing issues but also document the recommended refactoring that would improve performance in the long run. |
@mwinokan I fixed directly in your comment that we need point 6 and not 7 to restore RHS. And also unfortunately there is no workaround. |
@boriskovar-m2ms now has new test data, and it has revealed the need for some more work. Especially differentiating between the selected compounds and compound sets tabs. @boriskovar-m2ms will also have to reconcile with @matej-vavrek's various changes. @boriskovar-m2ms please keep track of a list of things you are regularly testing as part of this, so that we can compile a list of standard tests to be carried out after large changes (and potentially as part of an automated test suite). @boriskovar-m2ms also raises that extremely long source files cause issues in visual studio code, which significantly slow down development work. E.g. saving files with 1000's of lines can take several minutes or even time out, debugging is also broken. @phraenquex stresses that the mint release is less time-sensitive than previous releases and a good opportunity to do house keeping. |
@mwinokan I fixed the problem when you had dialog with inspirations opened in selected compounds tab and started iterating and after that you would save a snapshot and when you restore snapshot it (dialog) would be attached to different compound than it should be. BUT another thing that I noticed is that the functionality to scroll to the first visible compound in selected compounds tab when restoring snapshot was actually never implemented (it works now for LHS and RHS computed sets). I guess this should fixed too. Here it's not going to be a simple port (but also not something super hard) of the functionality because the list of compounds in here has quite different structure because for the fact that compounds might come from different computed sets. |
While implementing auto scrolling to first visible compound (problem described in previous comment) I found yet another bug. This time it's 4 years old bug when you have custom pdb and have compounds from two different datasets but they have same ID then they're treated as a same compound. |
Also there is a more recent bug that auto scrolling to first visible compound in custom dataset when using reference to LHS pdb is not working (it's hard to test because pressing P button on any of the compounds lights them up all). |
Just found out that this is not a bug because according to DB table the computed compound id is a primary key so it will never by same. Got confused by this 4 years old code which instigated this research because it was handling the case that two computed compounds from two sets can indeed have same id. In this case we would need to rework nice chunk of RHS to handle this. |
@boriskovar-m2ms has made good progress fighting snapshot gremlins and is now testing his changes. Boris says there are still issues with restoring the scroll state for the selected compounds tab (currently the wrong tab is opened). Additionally, VS code's automated refactoring tools were not able to split the largest source code files so it will need to be done manually. @boriskovar-m2ms says that the refactoring would be nice to have but not necessary. @phraenquex recommends we do our due diligence and include the source code refactor and unit tests within this ticket. |
@Waztom @phraenquex @mwinokan Saving snapshot:
Snapshot restoration:
PROS:
CONS:
Not quite sure how long it would take me to implement this but we are definitely talking about several weeks but most likely we are not talking about multiple months. |
Thanks @boriskovar-m2ms veryhelpful. Some questions, and maybe you've implicitly covered them already.
My thinking is: we should aim to get a lot of mint out the door ASAP, because we need it for science. |
|
Thanks @boriskovar-m2ms - so headline is this? (a) you've fixed an awful lot, and that's ready for testing. Please change swimlane as appropriate, and @mwinokan will test when back. (b) you have a solid plan for refactoring - please copy-paste to a new ticket, and assign to orange. We'll schedule it as soon as you know more. |
|
Merge and test once #1322 in staging. |
commit fce3b57 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Jul 24 14:29:59 2024 +0200 - fixed problem with anchor being null or undefined commit f47fa03 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Jul 18 08:45:01 2024 +0200 - some last fixes for #1419 commit 60078d4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Jul 17 08:42:34 2024 +0200 - A LOT of fixes for #1419 commit 9934750 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Jul 22 10:40:07 2024 +0200 - merged changes commit 61f808d Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Jul 18 08:45:01 2024 +0200 - some last fixes for #1419 commit 040bb9d Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Jul 17 08:42:34 2024 +0200 - A LOT of fixes for #1419 commit 32f9c68 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Jun 18 09:06:57 2024 +0200 - checkpoint commit 2af9f7b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Jun 17 09:31:07 2024 +0200 added forward ref commit d60bdc0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Jun 17 08:56:21 2024 +0200 - #1419 first batch of fixes
@boriskovar-m2ms to verify after the RHS changes #1404 and #1348
The text was updated successfully, but these errors were encountered: