Skip to content

Commit 5c610fb

Browse files
committed
1 parent 1bb2a8c commit 5c610fb

6 files changed

Lines changed: 36 additions & 11 deletions

File tree

src/vs/platform/userDataSync/common/extensionsSync.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export class ExtensionsSynchroniser extends AbstractSynchroniser implements IUse
181181
if (remoteExtensions) {
182182
this.logService.trace('Extensions: Merging remote extensions with local extensions...');
183183
} else {
184-
this.logService.info('Extensions: Remote extensions does not exist. Synchronizing extensions for the first time.');
184+
this.logService.trace('Extensions: Remote extensions does not exist. Synchronizing extensions for the first time.');
185185
}
186186

187187
const { added, removed, updated, remote } = merge(localExtensions, remoteExtensions, lastSyncExtensions, skippedExtensions, this.getIgnoredExtensions());
@@ -194,8 +194,12 @@ export class ExtensionsSynchroniser extends AbstractSynchroniser implements IUse
194194
}
195195

196196
private async apply({ added, removed, updated, remote, remoteUserData, skippedExtensions }: ISyncPreviewResult, forcePush?: boolean): Promise<void> {
197-
if (!added.length && !removed.length && !updated.length && !remote) {
197+
198+
const hasChanges = added.length || removed.length || updated.length || remote;
199+
200+
if (!hasChanges) {
198201
this.logService.trace('Extensions: No changes found during synchronizing extensions.');
202+
return;
199203
}
200204

201205
if (added.length || removed.length || updated.length) {
@@ -211,7 +215,7 @@ export class ExtensionsSynchroniser extends AbstractSynchroniser implements IUse
211215
remoteUserData = { ref, content };
212216
}
213217

214-
if (remoteUserData.content) {
218+
if (hasChanges) {
215219
// update last sync
216220
this.logService.info('Extensions: Updating last synchronised extensions...');
217221
await this.updateLastSyncUserData<ILastSyncUserData>({ ...remoteUserData, skippedExtensions });

src/vs/platform/userDataSync/common/globalStateSync.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,26 @@ export class GlobalStateSynchroniser extends AbstractSynchroniser implements IUs
159159

160160
const localGloablState = await this.getLocalGlobalState();
161161

162+
if (remoteGlobalState) {
163+
this.logService.trace('UI State: Merging remote ui state with local ui state...');
164+
} else {
165+
this.logService.trace('UI State: Remote ui state does not exist. Synchronizing ui state for the first time.');
166+
}
167+
162168
const { local, remote } = merge(localGloablState, remoteGlobalState, lastSyncGlobalState);
163169

164170
return { local, remote, remoteUserData };
165171
}
166172

167173
private async apply({ local, remote, remoteUserData }: ISyncPreviewResult, forcePush?: boolean): Promise<void> {
174+
175+
const hasChanges = local || remote;
176+
177+
if (!hasChanges) {
178+
this.logService.trace('UI State: No changes found during synchronizing ui state.');
179+
return;
180+
}
181+
168182
if (local) {
169183
// update local
170184
this.logService.info('UI State: Updating local ui state...');
@@ -179,7 +193,7 @@ export class GlobalStateSynchroniser extends AbstractSynchroniser implements IUs
179193
remoteUserData = { ref, content };
180194
}
181195

182-
if (remoteUserData.content) {
196+
if (hasChanges) {
183197
// update last sync
184198
this.logService.info('UI State: Updating last synchronised ui state...');
185199
await this.updateLastSyncUserData(remoteUserData);

src/vs/platform/userDataSync/common/keybindingsSync.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ export class KeybindingsSynchroniser extends AbstractFileSynchroniser implements
151151
if (this.syncPreviewResultPromise) {
152152
this.syncPreviewResultPromise.cancel();
153153
this.syncPreviewResultPromise = null;
154-
this.logService.info('Keybindings: Stopped synchronizing keybindings.');
154+
this.logService.trace('Keybindings: Stopped synchronizing keybindings.');
155155
}
156156
await this.fileService.del(this.environmentService.keybindingsSyncPreviewResource);
157157
this.setStatus(SyncStatus.Idle);
@@ -341,7 +341,7 @@ export class KeybindingsSynchroniser extends AbstractFileSynchroniser implements
341341

342342
// First time syncing to remote
343343
else if (fileContent) {
344-
this.logService.info('Keybindings: Remote keybindings does not exist. Synchronizing keybindings for the first time.');
344+
this.logService.trace('Keybindings: Remote keybindings does not exist. Synchronizing keybindings for the first time.');
345345
hasRemoteChanged = true;
346346
previewContent = fileContent.value.toString();
347347
}

src/vs/platform/userDataSync/common/settingsSync.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ export class SettingsSynchroniser extends AbstractFileSynchroniser implements IS
182182
if (this.syncPreviewResultPromise) {
183183
this.syncPreviewResultPromise.cancel();
184184
this.syncPreviewResultPromise = null;
185-
this.logService.info('Settings: Stopped synchronizing settings.');
185+
this.logService.trace('Settings: Stopped synchronizing settings.');
186186
}
187187
await this.fileService.del(this.environmentService.settingsSyncPreviewResource);
188188
this.setStatus(SyncStatus.Idle);
@@ -319,7 +319,7 @@ export class SettingsSynchroniser extends AbstractFileSynchroniser implements IS
319319
remoteUserData = { ref, content };
320320
}
321321
if (remoteUserData.content) {
322-
this.logService.info('Settings: Updating last synchronised sttings');
322+
this.logService.info('Settings: Updating last synchronised settings');
323323
await this.updateLastSyncUserData(remoteUserData);
324324
}
325325

@@ -380,7 +380,7 @@ export class SettingsSynchroniser extends AbstractFileSynchroniser implements IS
380380

381381
// First time syncing to remote
382382
else if (fileContent) {
383-
this.logService.info('Settings: Remote settings does not exist. Synchronizing settings for the first time.');
383+
this.logService.trace('Settings: Remote settings does not exist. Synchronizing settings for the first time.');
384384
hasRemoteChanged = true;
385385
previewContent = fileContent.value.toString();
386386
remoteContent = fileContent.value.toString();

src/vs/platform/userDataSync/common/userDataAutoSync.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,13 @@ export class UserDataAutoSync extends Disposable implements IUserDataAutoSyncSer
6060
if (auto) {
6161
if (await this.isTurnedOffEverywhere()) {
6262
// Turned off everywhere. Reset & Stop Sync.
63+
this.logService.info('Turning off sync as it is turned off everywhere.');
6364
await this.userDataSyncService.resetLocal();
6465
await this.userDataSyncUtilService.updateConfigurationValue('sync.enable', false);
6566
return;
6667
}
6768
if (this.userDataSyncService.status !== SyncStatus.Idle) {
68-
this.logService.info('Skipped auto sync as sync is happening');
69+
this.logService.trace('Sync Skipped as it is syncing already');
6970
return;
7071
}
7172
}
@@ -86,6 +87,8 @@ export class UserDataAutoSync extends Disposable implements IUserDataAutoSyncSer
8687
await timeout(1000 * 60 * 5 * (this.successiveFailures + 1)); // Loop sync for every (successive failures count + 1) times 5 mins interval.
8788
this.sync(loop, true);
8889
}
90+
} else {
91+
this.logService.trace('Not syncing as it is disabled.');
8992
}
9093
}
9194

@@ -102,6 +105,7 @@ export class UserDataAutoSync extends Disposable implements IUserDataAutoSyncSer
102105
}
103106

104107
triggerAutoSync(): Promise<void> {
108+
this.logService.trace('Triggerred Sync...');
105109
return this.sync(false, true);
106110
}
107111

src/vs/platform/userDataSync/common/userDataSyncService.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,20 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ
104104
if (this.status === SyncStatus.HasConflicts) {
105105
throw new Error(localize('resolve conflicts', "Please resolve conflicts before resuming sync."));
106106
}
107+
const startTime = new Date().getTime();
108+
this.logService.trace('Started Syncing...');
107109
for (const synchroniser of this.synchronisers) {
108110
try {
109111
await synchroniser.sync();
110112
// do not continue if synchroniser has conflicts
111113
if (synchroniser.status === SyncStatus.HasConflicts) {
112-
return;
114+
break;
113115
}
114116
} catch (e) {
115117
this.logService.error(`${this.getSyncSource(synchroniser)}: ${toErrorMessage(e)}`);
116118
}
117119
}
120+
this.logService.trace(`Finished Syncing. Took ${new Date().getTime() - startTime}ms`);
118121
}
119122

120123
async resolveConflictsAndContinueSync(content: string): Promise<void> {

0 commit comments

Comments
 (0)