← Whispering

fix: Handle legacy autotype boolean setting in NiceGUI

05e410aacb1978af98a32c11fd092045f0f8f192 · Claude · Dec 1, 2025 20:11

Convert old boolean autotype setting (True/False) to new string format
('Off', 'Whisper', 'Translation', 'AI') for compatibility with NiceGUI
select component which requires string values.

This fixes the ValueError when loading settings from tkinter GUI that
stored autotype as a boolean.

+8 −1 · 1 file changed

  • src/ui/main.py +8 −1
diff --git a/src/ui/main.py b/src/ui/main.py
index cd20bea..7bd5a0b 100644
--- a/src/ui/main.py
+++ b/src/ui/main.py
@@ -41,7 +41,14 @@ def main():
     state.timeout = settings.get("timeout", 5.0)
     state.source_language = settings.get("source_language", "auto")
     state.target_language = settings.get("target_language", "none")
-    state.autotype_mode = settings.get("autotype", "Off")
+
+    # Handle autotype setting - convert legacy boolean to string if needed
+    autotype_val = settings.get("autotype", "Off")
+    if isinstance(autotype_val, bool):
+        state.autotype_mode = "Off"  # Convert old boolean format to new string format
+    else:
+        state.autotype_mode = autotype_val
+
     state.auto_stop_enabled = settings.get("auto_stop_enabled", False)
     state.auto_stop_minutes = settings.get("auto_stop_minutes", 5)