fix(recipe): align refresh split button behavior with models page

- refreshRecipes() now accepts fullRebuild param and passes it to scan endpoint
- Use consistent toast.api.refreshComplete / toast.api.refreshFailed keys
- Use loadingManager.show() with progress bar (matching models page style)
- Both Refresh and Rebuild Cache now hit the real /api/lm/recipes/scan endpoint
- Add sidebarManager.refresh() after recipe scan completes
- Backend scan_recipes handler reads full_rebuild query param
This commit is contained in:
Will Miao
2026-06-02 09:50:59 +08:00
parent d9fd60bec1
commit dd5d9cfcb2
3 changed files with 27 additions and 36 deletions

View File

@@ -461,7 +461,11 @@ class RecipeQueryHandler:
if recipe_scanner is None:
raise RuntimeError("Recipe scanner unavailable")
self._logger.info("Manually triggering recipe cache rebuild")
full_rebuild = request.query.get("full_rebuild", "true").lower() == "true"
self._logger.info(
"Manually triggering recipe cache %s",
"full rebuild" if full_rebuild else "refresh",
)
await recipe_scanner.get_cached_data(force_refresh=True)
return web.json_response(
{"success": True, "message": "Recipe cache refreshed successfully"}