Skip to content

Commit 0f18d5d

Browse files
authored
require 'prompt files' synchronization to be explicitly enabled by users (microsoft#242567)
1 parent 137cc1a commit 0f18d5d

File tree

4 files changed

+11
-4
lines changed

4 files changed

+11
-4
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ export interface IUserDataSyncEnablementService {
532532
setEnablement(enabled: boolean): void;
533533

534534
readonly onDidChangeResourceEnablement: Event<[SyncResource, boolean]>;
535-
isResourceEnabled(resource: SyncResource): boolean;
535+
isResourceEnabled(resource: SyncResource, defaultValue?: boolean): boolean;
536536
setResourceEnablement(resource: SyncResource, enabled: boolean): void;
537537

538538
getResourceSyncStateVersion(resource: SyncResource): string | undefined;

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,10 @@ export class UserDataSyncEnablementService extends Disposable implements IUserDa
5252
this.storageService.store(enablementKey, enabled, StorageScope.APPLICATION, StorageTarget.MACHINE);
5353
}
5454

55-
isResourceEnabled(resource: SyncResource): boolean {
56-
return this.storageService.getBoolean(getEnablementKey(resource), StorageScope.APPLICATION, true);
55+
isResourceEnabled(resource: SyncResource, defaultValue?: boolean): boolean {
56+
const storedValue = this.storageService.getBoolean(getEnablementKey(resource), StorageScope.APPLICATION);
57+
defaultValue = defaultValue ?? resource !== SyncResource.Prompts;
58+
return storedValue ?? defaultValue;
5759
}
5860

5961
setResourceEnablement(resource: SyncResource, enabled: boolean): void {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,11 @@ export class UserDataSyncClient extends Disposable {
141141
await fileService.writeFile(environmentService.argvResource, VSBuffer.fromString(JSON.stringify({ 'locale': 'en' })));
142142
}
143143
await configurationService.reloadConfiguration();
144+
145+
// `prompts` resource is disabled by default, so enable it for tests
146+
this.instantiationService
147+
.get(IUserDataSyncEnablementService)
148+
.setResourceEnablement(SyncResource.Prompts, true);
144149
}
145150

146151
async sync(): Promise<void> {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
529529

530530
const items = this.getConfigureSyncQuickPickItems();
531531
quickPick.items = items;
532-
quickPick.selectedItems = items.filter(item => this.userDataSyncEnablementService.isResourceEnabled(item.id));
532+
quickPick.selectedItems = items.filter(item => this.userDataSyncEnablementService.isResourceEnabled(item.id, true));
533533
let accepted: boolean = false;
534534
disposables.add(Event.any(quickPick.onDidAccept, quickPick.onDidCustom)(() => {
535535
accepted = true;

0 commit comments

Comments
 (0)