mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-09-20 18:51:26 -03:00
feat(ui): show live scan progress and ETA for cache refresh
Broadcast typed scan_progress messages over /ws/fetch-progress from the manual refresh/rebuild paths of ModelScanner and RecipeScanner, and render percent, processed/total, current file name and an EMA-smoothed ETA in the loading overlay. Hardcoded refresh strings move to i18n (common.scanProgress); WS connection failure falls back to the previous static loading behavior.
This commit is contained in:
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "Refreshing {type}s...",
|
||||
"fullRebuilding": "Full rebuild {type}s...",
|
||||
"actionRefresh": "Refresh",
|
||||
"actionFullRebuild": "Full rebuild",
|
||||
"actionRefreshLower": "refresh",
|
||||
"actionRebuildLower": "rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "Scanning folders...",
|
||||
"count_models": "Found {total} files",
|
||||
"process_models": "Processing models",
|
||||
"reconcile_scan": "Checking for changes...",
|
||||
"process_new": "Processing new models",
|
||||
"finalizing": "Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "Less than a minute remaining",
|
||||
"minutes": "~{minutes} min remaining",
|
||||
"hours": "~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "Mo",
|
||||
"gb": "Go",
|
||||
"tb": "To"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "МБ",
|
||||
"gb": "ГБ",
|
||||
"tb": "ТБ"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
@@ -50,6 +50,27 @@
|
||||
"mb": "MB",
|
||||
"gb": "GB",
|
||||
"tb": "TB"
|
||||
},
|
||||
"scanProgress": {
|
||||
"refreshing": "[TODO: Translate] Refreshing {type}s...",
|
||||
"fullRebuilding": "[TODO: Translate] Full rebuild {type}s...",
|
||||
"actionRefresh": "[TODO: Translate] Refresh",
|
||||
"actionFullRebuild": "[TODO: Translate] Full rebuild",
|
||||
"actionRefreshLower": "[TODO: Translate] refresh",
|
||||
"actionRebuildLower": "[TODO: Translate] rebuild",
|
||||
"stages": {
|
||||
"scan_folders": "[TODO: Translate] Scanning folders...",
|
||||
"count_models": "[TODO: Translate] Found {total} files",
|
||||
"process_models": "[TODO: Translate] Processing models",
|
||||
"reconcile_scan": "[TODO: Translate] Checking for changes...",
|
||||
"process_new": "[TODO: Translate] Processing new models",
|
||||
"finalizing": "[TODO: Translate] Finalizing..."
|
||||
},
|
||||
"eta": {
|
||||
"lessThanMinute": "[TODO: Translate] Less than a minute remaining",
|
||||
"minutes": "[TODO: Translate] ~{minutes} min remaining",
|
||||
"hours": "[TODO: Translate] ~{hours} hr {minutes} min remaining"
|
||||
}
|
||||
}
|
||||
},
|
||||
"onboarding": {
|
||||
|
||||
Reference in New Issue
Block a user