Repository navigation
Remove deleted project from recent projects immediately - #3847
Merged
Merged
Conversation
Project.destroy() (used only when a project is actually deleted, not when it's simply closed) issued a raw DELETE request and never refreshed the controller's cached project list. Since "recent projects" filtering in the GUI checks each entry against that cached list, a deleted project stayed visible under Recent Projects - and could still be clicked, which threw a GUI freeze - until the app was restarted and the list was freshly refetched. destroy() now uses its own callback, _projectDestroyedCallback, which does everything the previous callback did and additionally calls Controller.refreshProjectList() on success. This matches the same pattern already used by Controller.deleteProject() elsewhere in the codebase. The ordinary project-close path (close()) is untouched. Fixes GNS3#3815
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Project.destroy() (used only when a project is actually deleted, not when it's simply closed) issued a raw DELETE request and never refreshed the controller's cached project list. Since "recent projects" filtering in the GUI checks each entry against that cached list, a deleted project stayed visible under Recent Projects - and could still be clicked, which threw a GUI freeze - until the app was restarted and the list was freshly refetched.
destroy() now uses its own callback, _projectDestroyedCallback, which does everything the previous callback did and additionally calls Controller.refreshProjectList() on success. This matches the same pattern already used by Controller.deleteProject() elsewhere in the codebase. The ordinary project-close path (close()) is untouched.
Fixes #3815