Added UI force-sync button and fixed bug that didn't sync in one case… (#13745)

* Added UI force-sync button and fixed bug that didn't sync in one case and caused orange highlight

* Fix sync preset race: join old thread before starting new one

---------

Co-authored-by: Mykola Nahirnyi <mnahirnyi@amcbridge.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
ExPikaPaka
2026-05-20 06:18:08 +02:00
committed by GitHub
parent d2c24fdabb
commit 1aedf8f22c
4 changed files with 59 additions and 4 deletions

View File

@@ -2259,6 +2259,10 @@ bool PresetCollection::load_user_preset(std::string name, std::map<std::string,
if (iter->name == m_edited_preset.name && iter->is_dirty) {
// Keep modifies when update from remote
new_config.apply_only(m_edited_preset.config, m_edited_preset.config.diff(iter->config));
} else if (iter->name == m_edited_preset.name) {
// Preset is not dirty (no local unsaved changes) — also update the edited preset
// to prevent a false "dirty" indication (orange highlight) after a silent cloud sync
m_edited_preset.config = new_config;
}
iter->config = new_config;
iter->updated_time = cloud_update_time;