Implemented automatic config file updates to add missing settings with default values on startup. This eliminates manual config editing when upgrading to newer versions. Features: - Auto-updates config.json with missing settings - Auto-updates user_config.json with missing user preferences - Console logging shows which settings were added - Preserves existing values - only adds missing keys - Writes updated config back to file automatically - Graceful error handling if write fails System config (config.json): - Comprehensive defaults for all sections - GPIO, audio, paths, backup, web, system settings - New settings like volume_greeting, volume_button, volume_beep User config (user_config.json): - Loop-based checking against default_config - Automatic save when updates are detected - Error logging for troubleshooting Benefits: - Seamless upgrades without manual config edits - No breaking changes when new features are added - Users see exactly what was added in console - Backward compatible with old config files Example console output: [CONFIG] Added missing setting: system.volume_beep = 70 [CONFIG] Updated config.json with missing defaults [USER_CONFIG] Added missing setting: volume_button = 70 [USER_CONFIG] Updated user_config.json with missing defaults Updated README.md to document auto-update feature. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
96 KiB
96 KiB