Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -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**
Expand Down
11 changes: 5 additions & 6 deletions main/data/manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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<char, STRLONG> 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"));
Expand Down