Graceful degradation before partnership/SSH is set up
Fix 1 — Monitor partner card (common.php + monitor.php): vv_remote_hosts_stats() no longer skips hosts with no API key. Returns no_api_key:true entry instead. Monitor JS renders "API key not configured — complete Onboard to enable" instead of a blank space. Fix 2 — rawconf push not alarming pre-onboard (config.php + scheduler.php): Probe failures (Tailscale not found, plugin not installed) now carry ready:false. JS treats ready:false results silently — button shows "✓ Saved" not "push failed: HOST2" before SSH is set up. Only genuine post-onboard failures (ready not false) show as errors. Fix 3 — Partnership Onboard button (partnership.php): Disabled with tooltip when no partner hostname is in master.conf. When partner configured but not onboarded, adds explanation note: "Onboard will generate your SSH key, exchange it with the partner..." No partner configured: "Edit master.conf and set HOST2."
This commit is contained in:
@@ -2635,13 +2635,16 @@ function vvSaveRawConf() {
|
||||
}
|
||||
|
||||
// Normal save: show push status
|
||||
const push = d.push ?? [];
|
||||
if (push.length === 0) {
|
||||
btn.textContent = '✓ Saved';
|
||||
} else if (push.every(p => p.ok)) {
|
||||
btn.textContent = '✓ Saved · synced to ' + push.map(p => p.host).join(', ');
|
||||
// ready:false = partner not set up yet (pre-onboard) — treat as silent, not an error
|
||||
const push = d.push ?? [];
|
||||
const synced = push.filter(p => p.ok);
|
||||
const realFailed = push.filter(p => !p.ok && p.ready !== false);
|
||||
if (realFailed.length > 0) {
|
||||
btn.textContent = '✓ Saved · push failed: ' + realFailed.map(p => p.host).join(', ');
|
||||
} else if (synced.length > 0) {
|
||||
btn.textContent = '✓ Saved · synced to ' + synced.map(p => p.host).join(', ');
|
||||
} else {
|
||||
btn.textContent = '✓ Saved · push failed: ' + push.filter(p => !p.ok).map(p => p.host).join(', ');
|
||||
btn.textContent = '✓ Saved';
|
||||
}
|
||||
setTimeout(() => { btn.textContent = 'Save Conf'; }, 3500);
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user