diff --git a/Plugin/unraid/css/varaverk.css b/Plugin/unraid/css/varaverk.css index f04f4c3..1f1f08e 100644 --- a/Plugin/unraid/css/varaverk.css +++ b/Plugin/unraid/css/varaverk.css @@ -359,6 +359,11 @@ body.vv-fullscreen #displaybox { padding-left: 1rem !important; padding-top: .5r background-origin: content-box; background-attachment: local; } .vv-cf-array:focus { outline: none; } .vv-cf-empty { color: #555; font-size: 13px; font-style: italic; padding: 20px 4px; text-align: center; margin: 0; } +/* "No user adjustable settings" — a stated fact, not an empty region. Tagged rather than greyed + out, because the thing being communicated is that nothing is missing. */ +.vv-cf-none { color: #9a8f6a; font-size: 12px; margin: 0; padding: 8px 10px; + background: #1c1a12; border: 1px solid #33301f; border-left: 3px solid #7a6a3a; + border-radius: 3px; } .vv-custom-empty { color: #666; font-size: 13px; padding: 8px 4px; margin: 0; font-style: italic; } .vv-custom-count { font-size: 12px; color: #666; margin-left: 8px; flex-shrink: 0; } .vv-section-sep { font-size: 11px; font-weight: bold; color: #666; text-transform: uppercase; diff --git a/Plugin/unraid/include/confform.php b/Plugin/unraid/include/confform.php index 5f94c5e..de4056e 100644 --- a/Plugin/unraid/include/confform.php +++ b/Plugin/unraid/include/confform.php @@ -55,7 +55,7 @@ const VV_SCRIPT_CONF_SECTIONS = [ 'Orchestrators/daily_sync_maintenance.sh' => ['Daily Sync Maintenance', 'Daily Sync Shares'], 'Orchestrators/weekly_sync_maintenance.sh' => ['Weekly Sync Maintenance', 'Weekly Sync Shares'], 'Orchestrators/monthly_maintenance.sh' => ['Monthly Maintenance'], - 'Orchestrators/transcode_management.sh' => ['Transcode Manager', 'Transcode Server Array', 'Transcodes'], + 'Orchestrators/transcode_management.sh' => ['Transcode Management', 'Transcode Manager', 'Transcode Server Array'], // Docker Essentials 'Docker_Essentials/docker_daily_restart.sh' => ['Docker Daily Restart'], 'Docker_Essentials/docker_weekly_restart.sh' => ['Docker Weekly Restart'], @@ -63,14 +63,13 @@ const VV_SCRIPT_CONF_SECTIONS = [ 'Docker_Essentials/downloaders_reset.sh' => ['Downloaders Reset', 'Downloaders'], // Watchdogs 'Watchdogs/docker_watchdog.sh' => ['Docker Watchdog'], - 'Watchdogs/resource_watchdog.sh' => ['Pressure Levels'], + 'Watchdogs/resource_watchdog.sh' => ['Pressure Thresholds'], 'Watchdogs/System/network_watchdog.sh' => ['Network Watchdog'], 'Plugin/unraid/Watchdogs/System/webgui_watchdog.sh' => ['WebGUI Watchdog'], // Media 'Media/media_cleaner.sh' => ['Media Cleaner'], 'Media/media_shares_permissions.sh' => ['Media Permissions'], // Arrs Stack - 'Arrs_Stack/arrs_failed_stalled_recovery.sh' => ['Arr Failed/Stalled Recovery'], 'Arrs_Stack/radarr_cleanup.sh' => ['Arr Cleanup'], 'Arrs_Stack/lidarr_cleanup.sh' => ['Arr Cleanup'], 'Arrs_Stack/sonarr_cleanup.sh' => ['Arr Cleanup'], @@ -80,7 +79,37 @@ const VV_SCRIPT_CONF_SECTIONS = [ 'Monitors/smart_health.sh' => ['SMART Health'], 'Monitors/bandwidth_monitor.sh' => ['Bandwidth Monitor'], 'Monitors/emby_session_report.sh' => ['Emby Session Report'], - 'Monitors/zfs_memory_snapshot.sh' => ['ZFS Report'], + 'Monitors/zfs_memory_snapshot.sh' => ['ZFS Report', 'ZFS Memory Snapshot'], + 'Monitors/weekly_health_digest.sh' => ['Health Digest'], + 'Monitors/system_tuning_monitor.sh' => ['System Tuning Monitor'], + // ── Added after auditing the conf against this map ──────────────────────────────────────── + // 99 named subsections existed; 35 were reachable. The rest were configured and documented in + // the script headers, but the Info & Settings view rendered no Config block at all — which + // reads as "this script has no settings" rather than "nobody mapped it". Only sections that + // unambiguously belong to one script are listed: a wrong mapping puts someone else's settings + // under a script and is worse than the gap it closes. + 'Arrs_Stack/arr_download_orphan_cleaner.sh' => ['Download Orphan Cleaner (arr_download_orphan_cleaner.sh)'], + 'Arrs_Stack/radarr_classification_scan.sh' => ['Arr Content Classification (radarr/sonarr_classification_scan.sh)'], + 'Arrs_Stack/sonarr_classification_scan.sh' => ['Arr Content Classification (radarr/sonarr_classification_scan.sh)'], + 'Arrs_Stack/arr_full_rescan.sh' => ['Arr Full Library Rescan'], + 'Arrs_Stack/arr_corruption_scan.sh' => ['Corruption Scan'], + 'Arrs_Stack/arrs_failed_stalled_recovery.sh' => ['Arr Failed/Stalled Recovery', 'Arr Recovery Toggles'], + 'Media/play_state_sync.sh' => ['Play State Sync', 'Play State Sync — Handback'], + 'Orchestrators/sunday_morning_coffee_report.sh' => ['Sunday Morning Coffee Report'], + 'Fallback/fallback_test.sh' => ['Failover Test'], + 'Rsync/rsync.sh' => ['Rsync Enable/Disable', 'Rsync Defaults', + 'Rsync Profile System', 'Rsync Merge Auto-Promote'], + 'System_Essentials/server_reboot.sh' => ['Reboot'], + 'System_Essentials/clear_logs.sh' => ['Clear Logs'], + 'System_Essentials/inotify_tuning.sh' => ['inotify Tuning'], + 'System_Essentials/docker_syslog_filter.sh' => ['Syslog Filter'], + 'Plugin/unraid/System_Essentials/mover_stop.sh' => ['Mover'], + 'Plugin/unraid/System_Essentials/php_fpm_max_children.sh' => ['PHP-FPM'], + 'Watchdogs/stability_watchdog.sh' => ['Strike and Reboot Loop Settings', + 'RAM Reboot Threshold', 'OOM Bypass Settings'], + 'AI/ai_index.sh' => ['AI Retrieval Index', 'AI Master Switch'], + 'AI/ai_query.sh' => ['AI Retrieval Index', 'AI Master Switch'], + 'AI/ai_token_sync.sh' => ['AI Feature Toggles'], ]; function vv_conf_has_sections(string $id): bool { diff --git a/Plugin/unraid/pages/scheduler.php b/Plugin/unraid/pages/scheduler.php index a76c8ae..1e122ed 100644 --- a/Plugin/unraid/pages/scheduler.php +++ b/Plugin/unraid/pages/scheduler.php @@ -4358,6 +4358,15 @@ function vvShowScriptInfoMode(name, hdr, id) { vvConfId = id; document.getElementById('vv-cancel-edit-btn').style.display = ''; document.getElementById('vv-save-conf-btn').style.display = ''; + } else { + // Say so rather than showing nothing. An absent Config block is ambiguous — it reads the + // same whether the script genuinely has no settings or nobody ever mapped it, and that + // ambiguity hid 15 scripts' settings until the conf was audited against the map. + html += '
' + + '
Config
' + + '

No user adjustable settings — this script is driven by its ' + + 'own logic and the values it inherits.

' + + '
'; } si.innerHTML = html || '

No additional information found.

';