diff --git a/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js b/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js
index 429dfa9..a662c27 100644
--- a/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js
+++ b/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js
@@ -177,11 +177,12 @@ class OverviewManager {
// extra inset — same rhythm as the Backups/Migrate sub-tab strips) — so
// the renderers below only ever produce the body (never a heading or its
// action buttons).
- const checkBtn = (label) => ``;
const body = (html) => `
${html}
`;
switch (id) {
case 'overview':
- pane.innerHTML = this.renderHeader(id, checkBtn('Check now')) + body(this.renderOverview());
+ // No manual "Check" — scans run automatically; the hero already reports
+ // the last scan time, and the Updates/Improvements tabs carry the nudge.
+ pane.innerHTML = this.renderHeader(id) + body(this.renderOverview());
break;
case 'updates': {
// Preserve which rows are expanded across a rebuild — a background
@@ -200,7 +201,7 @@ class OverviewManager {
break;
}
case 'improvements':
- pane.innerHTML = this.renderHeader(id, checkBtn('Check')) + body(this.renderImprovements());
+ pane.innerHTML = this.renderHeader(id) + body(this.renderImprovements());
break;
case 'backups': this.mountBackupCenter(pane); break;
case 'migrate': this.mountMigrate(); break;
@@ -358,7 +359,7 @@ class OverviewManager {
sub = bits.join(' · ');
}
} else {
- sub = 'The first automatic scan runs within a couple of minutes — or hit Check now.';
+ sub = 'The first automatic scan runs within a couple of minutes.';
}
const chip = (id, label, n) =>
``;
@@ -615,9 +616,12 @@ class OverviewManager {
// ---- Improvements tab (reuse the updater's hotfix renderer) ---------------
renderImprovements() {
- // withToolbar=false — the fleet tab's "Check" button lives in the shared
- // header action slot, so the embedded renderer skips its own toolbar.
- return this.updater ? this.updater.renderImprovements(false) : `
Improvements unavailable.
`;
+ // withToolbar=false — the embedded renderer skips its own toolbar; the
+ // auto-check line (with its right-side Check-now nudge) leads the body
+ // instead, matching the Updates tab.
+ return this.updater
+ ? this.updater.renderAutoCheckLine() + this.updater.renderImprovements(false)
+ : `
Improvements unavailable.
`;
}
// ---- Backups tab (fleet health glance; actions deep-link per app) ---------