diff --git a/config/config.yaml b/config/config.yaml index 857f66898..275e24cee 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -23,6 +23,7 @@ health: segment_sample_percentage: 5 library_sync_interval_minutes: 360 library_sync_concurrency: 0 + corruption_action: repair rclone: path: /config password: '' diff --git a/frontend/src/components/config/HealthConfigSection.tsx b/frontend/src/components/config/HealthConfigSection.tsx index 302659085..fa34c679f 100644 --- a/frontend/src/components/config/HealthConfigSection.tsx +++ b/frontend/src/components/config/HealthConfigSection.tsx @@ -172,7 +172,28 @@ export function HealthConfigSection({ {/* Repair & Back-off Configuration */}
+ What to do when a confirmed (non-degraded) corruption is detected, whether from a + scheduled health check or a live streaming failure. "Delete file" removes the file's + metadata, health record, and any now-empty parent directories instead of asking an ARR + to redownload it. +
@@ -183,12 +204,12 @@ export function HealthConfigSection({ type="checkbox" className="toggle toggle-info mt-1 shrink-0" checked={formData.repair?.enabled ?? true} - disabled={isReadOnly} + disabled={isReadOnly || formData.corruption_action === "delete"} onChange={(e) => handleRepairChange("enabled", e.target.checked)} />