diff --git a/static/js/cookbook-hwfit.js b/static/js/cookbook-hwfit.js
index e22b75b74..7fab5570c 100644
--- a/static/js/cookbook-hwfit.js
+++ b/static/js/cookbook-hwfit.js
@@ -592,7 +592,11 @@ export async function _hwfitFetch(fresh = false, opts = {}) {
if (!allowNetwork) {
_hwfitCache = null;
_hwfitRenderHw(hw, null);
- list.innerHTML = '
No cached scan yet
Press Scan to test hardware and rank models for this server.
';
+ list.innerHTML = 'No cached scan yet
Test hardware and rank models for this server.
';
+ list.querySelector('.hwfit-empty-scan-btn')?.addEventListener('click', () => {
+ _resetGpuToggleState();
+ _hwfitFetch(true);
+ });
try { wp.destroy(); } catch {}
return;
}
diff --git a/static/js/cookbookServe.js b/static/js/cookbookServe.js
index 98af9d0e2..deb6ea7a5 100644
--- a/static/js/cookbookServe.js
+++ b/static/js/cookbookServe.js
@@ -3743,7 +3743,10 @@ export async function _fetchCachedModels(fresh = false, opts = {}) {
}
if (!allowNetwork) {
_dlWp.destroy();
- list.innerHTML = 'No cached model scan yet
Press Scan to check this server\'s model cache.
';
+ list.innerHTML = 'No cached model scan yet
Check this server\'s model cache.
';
+ list.querySelector('.serve-empty-scan-btn')?.addEventListener('click', () => {
+ _fetchCachedModels(true);
+ });
const tagContainer = document.getElementById('serve-tags');
if (tagContainer) tagContainer.innerHTML = '';
return;