diff --git a/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSyncBridge.kt b/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSyncBridge.kt index a14eec4e7f80..7caa81535d69 100644 --- a/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSyncBridge.kt +++ b/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSyncBridge.kt @@ -4,6 +4,7 @@ import com.intellij.codeInsight.template.impl.TemplateSettings import com.intellij.configurationStore.saveSettings import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.diagnostic.logger +import com.intellij.openapi.progress.runBlockingCancellable import com.intellij.platform.util.progress.withProgressText import com.intellij.settingsSync.SettingsSyncBridge.PushRequestMode.* import com.intellij.settingsSync.statistics.SettingsSyncEventsStatistics @@ -92,9 +93,9 @@ class SettingsSyncBridge( coroutineScope.launch { withProgressText(SettingsSyncBundle.message(initMode.messageKey)) { try { - // Always explicitly flush settings – if this is not done before sending sync events, then remotely synced settings - // might not contain the most up–to–date settings state (e.g. sync settings will be stale). - saveIdeSettings() + if (initMode == InitMode.PushToServer) { + saveIdeSettings() + } settingsLog.initialize() // the queue is not activated initially => events will be collected but not processed until we perform all initialization tasks diff --git a/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSynchronizer.kt b/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSynchronizer.kt index 916346065b65..7f50cd3218d0 100644 --- a/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSynchronizer.kt +++ b/plugins/settings-sync/src/com/intellij/settingsSync/SettingsSynchronizer.kt @@ -76,7 +76,7 @@ private class SettingsSynchronizerApplicationInitializedListener : ApplicationIn } private suspend fun initializeSyncing(initMode: SettingsSyncBridge.InitMode, settingsSyncEventListener: SettingsSyncEventListener) { - LOG.info("Initializing settings sync") + LOG.info("Initializing settings sync. Mode: $initMode") val settingsSyncMain = serviceAsync() blockingContext { settingsSyncMain.controls.bridge.initialize(initMode)