Skip to content

Commit 02fa61f

Browse files
committed
microsoft#100346 pass sync resoure while accepting content
1 parent 60acc28 commit 02fa61f

5 files changed

Lines changed: 10 additions & 13 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ export interface IUserDataSyncService {
404404
isFirstTimeSyncingWithAnotherMachine(): Promise<boolean>;
405405
hasPreviouslySynced(): Promise<boolean>;
406406
resolveContent(resource: URI): Promise<string | null>;
407-
acceptPreviewContent(conflictResource: URI, content: string): Promise<void>;
407+
acceptPreviewContent(resource: SyncResource, conflictResource: URI, content: string): Promise<void>;
408408

409409
getLocalSyncResourceHandles(resource: SyncResource): Promise<ISyncResourceHandle[]>;
410410
getRemoteSyncResourceHandles(resource: SyncResource): Promise<ISyncResourceHandle[]>;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class UserDataSyncChannel implements IServerChannel {
5454
case 'hasPreviouslySynced': return this.service.hasPreviouslySynced();
5555
case 'hasLocalData': return this.service.hasLocalData();
5656
case 'isFirstTimeSyncingWithAnotherMachine': return this.service.isFirstTimeSyncingWithAnotherMachine();
57-
case 'acceptPreviewContent': return this.service.acceptPreviewContent(URI.revive(args[0]), args[1]);
57+
case 'acceptPreviewContent': return this.service.acceptPreviewContent(args[0], URI.revive(args[1]), args[2]);
5858
case 'resolveContent': return this.service.resolveContent(URI.revive(args[0]));
5959
case 'getLocalSyncResourceHandles': return this.service.getLocalSyncResourceHandles(args[0]);
6060
case 'getRemoteSyncResourceHandles': return this.service.getRemoteSyncResourceHandles(args[0]);

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -259,13 +259,10 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ
259259
}
260260
}
261261

262-
async acceptPreviewContent(resource: URI, content: string, executionId: string = generateUuid()): Promise<void> {
262+
async acceptPreviewContent(syncResource: SyncResource, resource: URI, content: string, executionId: string = generateUuid()): Promise<void> {
263263
await this.checkEnablement();
264-
const synchroniser = this.synchronisers.find(synchroniser => synchroniser.resourcePreviews.some(({ localResource, previewResource, remoteResource }) =>
265-
isEqual(resource, localResource) || isEqual(resource, previewResource) || isEqual(resource, remoteResource)));
266-
if (synchroniser) {
267-
await synchroniser.acceptPreviewContent(resource, content, false, { 'X-Execution-Id': executionId });
268-
}
264+
const synchroniser = this.getSynchroniser(syncResource);
265+
await synchroniser.acceptPreviewContent(resource, content, false, { 'X-Execution-Id': executionId });
269266
}
270267

271268
async resolveContent(resource: URI): Promise<string | null> {

src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
243243
for (const conflict of conflicts) {
244244
const modelRef = await this.textModelResolverService.createModelReference(conflict.remoteResource);
245245
try {
246-
await this.userDataSyncService.acceptPreviewContent(conflict.remoteResource, modelRef.object.textEditorModel.getValue());
246+
await this.userDataSyncService.acceptPreviewContent(syncResource, conflict.remoteResource, modelRef.object.textEditorModel.getValue());
247247
} finally {
248248
modelRef.dispose();
249249
}
@@ -258,7 +258,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
258258
for (const conflict of conflicts) {
259259
const modelRef = await this.textModelResolverService.createModelReference(conflict.previewResource);
260260
try {
261-
await this.userDataSyncService.acceptPreviewContent(conflict.previewResource, modelRef.object.textEditorModel.getValue());
261+
await this.userDataSyncService.acceptPreviewContent(syncResource, conflict.previewResource, modelRef.object.textEditorModel.getValue());
262262
} finally {
263263
modelRef.dispose();
264264
}
@@ -1163,7 +1163,7 @@ class AcceptChangesContribution extends Disposable implements IEditorContributio
11631163
});
11641164
if (result.confirmed) {
11651165
try {
1166-
await this.userDataSyncService.acceptPreviewContent(model.uri, model.getValue());
1166+
await this.userDataSyncService.acceptPreviewContent(syncResourceConflicts.syncResource, model.uri, model.getValue());
11671167
} catch (e) {
11681168
if (e instanceof UserDataSyncError && e.code === UserDataSyncErrorCode.LocalPreconditionFailed) {
11691169
const syncResourceCoflicts = this.userDataSyncService.conflicts.filter(({ syncResource }) => syncResource === syncResourceConflicts.syncResource)[0];

src/vs/workbench/services/userDataSync/electron-browser/userDataSyncService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ
104104
return this.channel.call('isFirstTimeSyncingWithAnotherMachine');
105105
}
106106

107-
acceptPreviewContent(resource: URI, content: string): Promise<void> {
108-
return this.channel.call('acceptPreviewContent', [resource, content]);
107+
acceptPreviewContent(syncResource: SyncResource, resource: URI, content: string): Promise<void> {
108+
return this.channel.call('acceptPreviewContent', [syncResource, resource, content]);
109109
}
110110

111111
resolveContent(resource: URI): Promise<string | null> {

0 commit comments

Comments
 (0)