-
Notifications
You must be signed in to change notification settings - Fork 636
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
RE-Pm publishpackage packagecontents #14631
RE-Pm publishpackage packagecontents #14631
Conversation
- now all colors are controlled by the COLORS object in confing.js
- correctly creates minimum depth folder structure for the files added
- updated browser to only show root items
- added pages for the wizard-like experience when publishing a package
- using Dispatcher fixes the async tree creation
- tests added to assert correct functionality of collecting files and folders
- updated files and folders icons - now only allows LibraryNode checkboxes for Assembly dll files
- started the structure for preview build
- added tests for the core methods of PreviewPackageBuild
- changed `RemoveItem` method to account for folder items being removed - fixed a bug where removing an Assembly file would generate an error. Assembly files can also be added to 'additional items'
- UI added to allow users to add/remove items from current Package selection
- ui tweaks
- preview contents now correctly display based on user choice (retain folder or not) - fixed a bug where CustomDefinitions would read as root item - Pages are disabled when not displayed, in order to stop handling of tasks that affect other Pages
- now sorts browser alphabetically - fixed disabled behavior
- assemblies now will show up with their file path, but still get picked up from their assembly resource on disk
- we need the ability to display custom nodes as file with file paths during package creation. CustomDefinition does not have the attributes to address that, so we are adding a new 'preview' item type to server the purpose
- added tests for delete item - fixed an issue where removing all items would not result in cleaning the RootContent items - added detailed description for the customTreeView_SelectedItemChanged method
- fixed checkbox behavior to be consistent when interacting with the rest of the controls
- clearing data and ui after publishing - clearing data and ui with Cancel button
- finished the main flow between the pages
- publish local retaining folder structure
- now warns the user of losing changes if using cancel or navigating away
- also clear custom definition filepaths
- not sure how the namespaces got wiped with the previous commit
- the tests were failing because another test folder was starting with a preceding alphabet letter
…ckage-packagecontents-revert
…ckage-packagecontents-revert
@dnenov what makes you conclude that a memory leak is crashing the test runner? |
Hey @mjkkirschner I think I was asking Deyan to look at potential memory leaks, any other clues? I did run the tests against this branch and tests still crashing in the middle: Failed! - Failed: 1, Passed: 986, Skipped: 5, Total: 992, Duration: 46 m 43 s - DynamoCoreWpfTests.dll (net6.0) |
- unsunbscribing from a few unattended event handlers - removed EntryDictionary, it wasn't used anywhere but was taking resources - unsubsribing from ele.RequestShowFileDialog -= OnRequestShowFileDialog; for each searchelementVM this time!
Sorry for the delayed response @mjkkirschner , I was trying to get as much information as I can before reporting back. This is a snapshot of the memory allocation after:
This is a snapshot of the Heap after the PackageManager is closed: There seems to be a list of I went through the code paying particular attention to unsubscribing from handlers, and I think I haven't missed anything. Let's see if this makes any difference. |
- publish tab is not leaking
- implement dispose method inside the BrowserItemViewModel to unsubscribe from the ItemsOnCollectionChanged event
…-packagecontents-revert
Personally, I don't think it's a memory leak - I think you are encountering the same issue as @pinzart90 and I where the web browser is being interacted with on the wrong thread due to the nature of the dispatcher and tests using the dispatcher. To see if you have a memory leak that might affect the tests, just run the all the tests and watch your memory. The test machines might have about 16 to 64 gigs of ram. You'll probably see that the test runner crashes way before you run out of memory. |
Yes, I hope so at least. I went through all possible event handlers I could find and am sure we are unsubscribing correctly. If all fails, I will break down the PR into smaller chunks and see if we can narrow down the moment it starts failing. Thank you for the input @mjkkirschner !! |
- disabled this test for the moment, it contaminates the packages folder by creating a package and leading to numerous failure tests consequently
- now checks for nulls before attempting to clear
…-packagecontents-revert
…thub.com/dnenov/Dynamo into pm-publishpackage-packagecontents-revert
…-packagecontents-revert
Purpose
This PR #14496 has been reverted due to a potential memory leak. (All tests passing, but it is crashing the live test runner).
WIP, still investigating the memory leak.
Declarations
Check these if you believe they are true
*.resx
filesRelease Notes
Reviewers
@QilongTang
@mjkkirschner
@reddyashish
FYIs
@Amoursol