mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-24 22:58:08 +00:00
## Summary - Upload Model dialog stays stuck in "Processing" after async download completes because the wizard never watches for task completion - `useUploadModelWizard.ts` sets `uploadStatus = 'processing'` but has no watcher linking it to `assetDownloadStore.lastCompletedDownload` - Added a `watch` on `lastCompletedDownload` that transitions `uploadStatus` to `'success'` when the tracked task finishes - Fixes #10609 ## Root Cause `uploadModel()` (line 249) sets `uploadStatus = 'processing'` when the async task starts, but control flow ends there. The `assetDownloadStore` receives WebSocket completion events and updates `lastCompletedDownload`, but the wizard never watches this reactive state. ## Fix Added a `watch` inside the async branch that monitors `assetDownloadStore.lastCompletedDownload`. When the completed task ID matches the upload's task ID, it transitions `uploadStatus` from `'processing'` to `'success'` and refreshes model caches. The watcher auto-disposes after firing. ## Red-Green Verification | Commit | CI Status | Purpose | |--------|-----------|---------| | `test: add failing test for upload dialog stuck in processing state` | 🔴 Red | Proves the test catches the bug | | `fix: update upload dialog status when async download completes` | 🟢 Green | Proves the fix resolves the bug | ## Test Plan - [x] CI red on test-only commit - [x] CI green on fix commit - [x] Unit test: `updates uploadStatus to success when async download completes` - [ ] Manual: Import model via URL → verify dialog transitions from Processing to Success (requires `--enable-assets`) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-10838-fix-update-upload-dialog-status-when-async-download-completes-3376d73d365081b6a5b1d2be3804ce4b) by [Unito](https://www.unito.io)