mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-14 09:27:41 +00:00
## Summary When deleting a model asset (checkpoint, lora, etc.), the loader node dropdowns now update correctly by invalidating the category-keyed cache. ## Problem After deleting a model asset in the asset browser, the loader node dropdowns (e.g., CheckpointLoaderSimple, LoraLoader) still showed the deleted model. Users had to refresh or re-open the dropdown to see the updated list. ## Solution After successful asset deletion, check each deleted asset's tags for model categories (checkpoints, loras, etc.) and call `assetsStore.invalidateCategory()` for each affected category. This triggers a refetch when the dropdown is next accessed. ## Changes - In `useMediaAssetActions.ts`: - After deletion, iterate through deleted assets' tags - Check if each tag corresponds to a model category using `modelToNodeStore.getAllNodeProviders()` - Call `invalidateCategory()` for each affected category - In `useMediaAssetActions.test.ts`: - Added mocks for `useAssetsStore` and `useModelToNodeStore` - Added tests for deletion invalidation behavior ## Testing - Added unit tests verifying: - Model cache is invalidated when deleting model assets - Multiple categories are invalidated when deleting multiple assets - Non-model assets (input, output) don't trigger invalidation ## Part of Stack This is **PR 2 of 2** in a stacked PR series: 1. **[PR 1](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8433)**: Refactor asset cache to category-keyed (architectural improvement) 2. **This PR**: Fix deletion invalidation using the clean architecture ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8434-fix-invalidate-loader-node-dropdown-cache-after-model-asset-deletion-2f76d73d3650813181aedc373d9799c6) by [Unito](https://www.unito.io) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved model cache invalidation after asset deletions — only relevant model categories are invalidated and non-model assets are ignored. * Fixed edge-rendering behavior so reroutes are cleared correctly in the canvas. * **Chores** * Added category-aware cache management and targeted refreshes for model assets. * **Tests** * Expanded tests for cache invalidation, category handling, workflow interactions, and related mocks. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: Alexander Brown <drjkl@comfy.org>