fix(preview): gracefully handle deleted preview files - image fallback, cache cleanup, quieter logs

- Add onerror handler on <img> previews to fallback to no-preview.png
- Fire async cache cleanup when preview file returns 404
- Add ModelCache.clear_preview_by_path() for safe stale-url removal
- Downgrade /api/lm/previews 404 log from warning to debug
This commit is contained in:
Will Miao
2026-07-10 20:55:22 +08:00
parent 196172624f
commit f362ed585b
7 changed files with 64 additions and 7 deletions

View File

@@ -432,7 +432,7 @@ function renderMediaMarkup(version) {
return `
<div class="version-media">
<img src="${escapeHtml(version.previewUrl)}" alt="${escapeHtml(version.name || 'preview')}">
<img src="${escapeHtml(version.previewUrl)}" alt="${escapeHtml(version.name || 'preview')}" onerror="this.onerror=null; this.src='/loras_static/images/no-preview.png'">
</div>
`;
}