diff --git a/docs/changelog.md b/docs/changelog.md index 1b7d2145..d83b832e 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -7,6 +7,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [Unreleased] ### Fixed +- **Auto-Update vt_data Inconsistency Between Displays (2026-02-12)** + - Fixed bug where vt_data auto-update setting behaved differently on server display vs external displays + - **Root Cause**: The auto_update_vt_data setting was loaded from the settings file in the data directory, which could be different for different displays in multi-display setups + - **Solution**: Modified the auto-update check to load the setting from a fixed path (/usr/viewtouch/dat/settings.dat) to ensure consistency across all displays + - **Impact**: vt_data auto-update setting now works consistently regardless of which display is used to start the system + - **Files modified**: `main/data/manager.cc` - **Hardware Button Type: Server Terminal Duplicates and Printer Removal (2026-02-12)** - Fixed bugs in Hardware zone that created duplicate server terminals and incorrectly removed shared printers - **Bug 1: Duplicate Server Terminals** diff --git a/main/data/manager.cc b/main/data/manager.cc index 422679e1..cea94ad1 100644 --- a/main/data/manager.cc +++ b/main/data/manager.cc @@ -681,16 +681,15 @@ int main(int argc, genericChar* argv[]) // Check if vt_data exists locally first bool vt_data_updated = false; - // Check if auto-update is enabled by loading settings + // Check if auto-update is enabled by loading settings from a fixed location + // to ensure consistency across all displays bool auto_update_enabled = true; // Default to enabled for backward compatibility - // Load settings from the master settings file using the same method as StartSystem - std::array settings_path{}; - MasterSystem->FullPath(MASTER_SETTINGS, settings_path.data()); + std::string fixed_settings_path = std::string(VIEWTOUCH_PATH) + "/dat/settings.dat"; - if (fs::exists(settings_path.data())) { + if (fs::exists(fixed_settings_path)) { Settings temp_settings; - if (temp_settings.Load(settings_path.data()) == 0) { + if (temp_settings.Load(fixed_settings_path.c_str()) == 0) { auto_update_enabled = temp_settings.auto_update_vt_data; if (!auto_update_enabled) { ReportError(GlobalTranslate("Auto-update of vt_data is disabled in settings"));