Preview mode that survives a reboot, and a fallback log that survives one too

This commit is contained in:
Gmer4Lfe
2026-08-22 13:52:34 -04:00
parent ac17be2cd9
commit 15d802ae3d
5 changed files with 77 additions and 5 deletions
+14
View File
@@ -237,6 +237,19 @@ if (vv_ai_ui_on()) vv_ai_chat_assets();
</div>
<div class="vv-fb-tog" id="vv-fb-rsync-tog" onclick="vvFbToggle(this,'FALLBACK_RSYNC_ENABLED')"></div>
</div>
<hr class="vv-fb-sep">
<!-- Persistent preview. Distinct from the per-card "Start dry run" button: that launches one
now, this decides what array_started.sh launches at every boot. Without it a preview lasts
exactly until the next array start and is then silently replaced by the live daemon. -->
<div class="vv-fb-ctrl-row">
<div>
<div class="vv-fb-ctrl-lbl">Preview mode <span style="font-size:9px;color:#4a9eff;border:1px solid #1e3a5a;background:#101a26;border-radius:3px;padding:1px 5px;margin-left:5px;">DRY RUN</span></div>
<div class="vv-fb-ctrl-sub">Watch and report, change nothing — no containers, no DDNS, no notifications. Survives reboots, so a long observation run stays a preview.</div>
</div>
<div class="vv-fb-tog" id="vv-fb-dry-tog" onclick="vvFbToggle(this,'FALLBACK_DRY_RUN')"></div>
</div>
</div>
<!-- Mesh verdict — one line answering "is this armed and is anything watching" before any detail -->
@@ -712,6 +725,7 @@ function _setToggles(data) {
['vv-fb-pt-tog', !!data.partnership_enabled],
['vv-fb-en-tog', !!data.fb_enabled],
['vv-fb-rsync-tog', !!data.fb_rsync_enabled],
['vv-fb-dry-tog', !!data.dry_run],
];
pairs.forEach(([id, on]) => {
const el = document.getElementById(id);