From 38e7108d73c3823fe5daa5a01f2b71f41377f78c Mon Sep 17 00:00:00 2001 From: Forkless Date: Sun, 10 May 2026 18:47:48 +0200 Subject: [PATCH] Critical fix: sanitize_settings now merges with existing settings to prevent data loss from standalone forms (Logs tab) --- includes/class-settings.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/includes/class-settings.php b/includes/class-settings.php index abbd629..f87bb37 100644 --- a/includes/class-settings.php +++ b/includes/class-settings.php @@ -464,7 +464,11 @@ class Settings { * @return array */ public function sanitize_settings( array $input ): array { - $clean = []; + // Merge with existing settings so standalone forms (e.g., Logs tab) + // don't wipe unrelated fields. + $existing = get_option( 'piperless_settings', [] ); + $input = array_merge( $existing, $input ); + $clean = []; $clean['piper_binary'] = sanitize_text_field( $input['piper_binary'] ?? '' ); $clean['models_directory'] = sanitize_text_field( $input['models_directory'] ?? '' );