fix: recover gracefully when model files are deleted outside Handy - #1918
Open
DhruvN102 wants to merge 3 commits into
Open
fix: recover gracefully when model files are deleted outside Handy#1918DhruvN102 wants to merge 3 commits into
DhruvN102 wants to merge 3 commits into
Conversation
Owner
|
Thanks I'll take a look soon! |
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.
Fixes #1893
Problem
If a model's files are removed from disk outside Handy, Handy kept checking its cached state instead of checking reality, therefore, Delete and Rescan couldn't clear the stale entry, so there was no way out of the UI short of touching app data directly.
Changes
listing (and Rescan) now verifies a model's files actually exist on disk
instead of trusting the cached
is_downloadedstate. A stale entry pointingat a missing path moves back to "Available to Download" instead of staying
listed as present.
loading_failedforget_model_patherrors too — theloading_failedevent emitter is now defined before the model pathlookup instead of after, so a failure in
get_model_path(e.g. the file nolonger exists) also emits a terminal
loading_failedevent instead ofleaving the frontend stuck on "Loading …" with no feedback.