feat: improve model scan cache override, combo UX, and filename handling
- Add force_rescan end-to-end so callers can bypass the short-lived local model scan cache: backend entry in __init__.py and core/resolver.py, lifecycle_graph_methods forwards it through the workflow analysis body, and download_target_methods passes ?force=1 from the refresh flow. - Rewrite combo dropdown lifecycle in missing_browser_methods with show/hide helpers, pointer-capture tracking, and a capture-phase outside-click listener so the list stays open during drag/hover and closes reliably otherwise. - Animate refresh buttons (CSS keyframes + JS Web Animations) with reduced-motion fallback. - Encode selected model path into the selected-bar data-model attribute and wire contextmenu so users can open the containing folder from the selection. - Fix XSS risk in selected-bar label by escaping label HTML; change queue/selected Remove buttons to danger style. - Increase max missing-browser model column width clamp from 430 to 820 and stop truncating missing-filename display; show full filename with tooltip instead. - Update huggingface-author-index.json metadata timestamp/counts (1 file changed, 1 line).
This commit is contained in:
+3
-1
@@ -326,6 +326,7 @@ def analyze_and_find_matches(
|
||||
similarity_threshold: float = 0.0,
|
||||
max_matches_per_model: int = 10,
|
||||
progress_callback: Optional[Callable[[Dict[str, Any]], None]] = None,
|
||||
force_rescan: bool = False,
|
||||
) -> Dict[str, Any]:
|
||||
"""
|
||||
Main entry point: analyze workflow and find matches for missing models.
|
||||
@@ -334,6 +335,7 @@ def analyze_and_find_matches(
|
||||
workflow_json: Complete workflow JSON dictionary
|
||||
similarity_threshold: Minimum similarity score (0.0 to 1.0) for matches
|
||||
max_matches_per_model: Maximum number of matches to return per missing model
|
||||
force_rescan: If True, bypass the short-lived local model scan cache
|
||||
|
||||
Returns:
|
||||
Dictionary with analysis results:
|
||||
@@ -389,7 +391,7 @@ def analyze_and_find_matches(
|
||||
|
||||
# Analyze workflow to find all model references
|
||||
# Get available models
|
||||
available_models = get_model_files()
|
||||
available_models = get_model_files(force_rescan=force_rescan)
|
||||
available_models_by_category = {}
|
||||
for model in available_models:
|
||||
model_category = model.get("category", "")
|
||||
|
||||
Reference in New Issue
Block a user