Skip to content

Commit 23ff774

Browse files
committed
Revert rate limit on client
1 parent fe91848 commit 23ff774

2 files changed

Lines changed: 8 additions & 19 deletions

File tree

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

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import { timeout, Delayer } from 'vs/base/common/async';
77
import { Event, Emitter } from 'vs/base/common/event';
88
import { Disposable } from 'vs/base/common/lifecycle';
9-
import { IUserDataSyncLogService, IUserDataSyncService, SyncStatus, IUserDataAutoSyncService, UserDataSyncError, UserDataSyncErrorCode, IUserDataSyncEnablementService, ALL_SYNC_RESOURCES } from 'vs/platform/userDataSync/common/userDataSync';
9+
import { IUserDataSyncLogService, IUserDataSyncService, SyncStatus, IUserDataAutoSyncService, UserDataSyncError, UserDataSyncErrorCode, IUserDataSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
1010
import { IAuthenticationTokenService } from 'vs/platform/authentication/common/authentication';
1111
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
1212

@@ -21,7 +21,6 @@ export class UserDataAutoSyncService extends Disposable implements IUserDataAuto
2121

2222
private enabled: boolean = this.getDefaultEnablementValue();
2323
private successiveFailures: number = 0;
24-
private lastSyncTriggerTime: number | undefined = undefined;
2524
private readonly syncDelayer: Delayer<void>;
2625

2726
private readonly _onError: Emitter<UserDataSyncError> = this._register(new Emitter<UserDataSyncError>());
@@ -70,7 +69,6 @@ export class UserDataAutoSyncService extends Disposable implements IUserDataAuto
7069
private async sync(loop: boolean, auto: boolean): Promise<void> {
7170
if (this.enabled) {
7271
try {
73-
this.lastSyncTriggerTime = new Date().getTime();
7472
await this.userDataSyncService.sync();
7573
this.resetFailures();
7674
} catch (e) {
@@ -124,17 +122,6 @@ export class UserDataAutoSyncService extends Disposable implements IUserDataAuto
124122
return this.syncDelayer.cancel();
125123
}
126124

127-
/*
128-
If sync is not triggered by sync resource (triggered by other sources like window focus etc.,)
129-
then limit sync to once per minute
130-
*/
131-
const isNotTriggeredBySyncResource = ALL_SYNC_RESOURCES.every(syncResource => sources.indexOf(syncResource) === -1);
132-
if (isNotTriggeredBySyncResource && this.lastSyncTriggerTime
133-
&& Math.round((new Date().getTime() - this.lastSyncTriggerTime) / 1000) < 60) {
134-
this.logService.debug('Auto Sync Skipped: Limited to once per minute.');
135-
return;
136-
}
137-
138125
this.sources.push(...sources);
139126
return this.syncDelayer.trigger(() => {
140127
this.telemetryService.publicLog2<{ sources: string[] }, AutoSyncClassification>('sync/triggered', { sources: this.sources });

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ suite('UserDataAutoSyncService', () => {
5757
await testObject.triggerAutoSync([SyncResource.Settings]);
5858
}
5959

60-
// Make sure only one request is made
6160
assert.deepEqual(target.requests, [
6261
{ type: 'GET', url: `${target.url}/v1/manifest`, headers: {} },
6362
{ type: 'GET', url: `${target.url}/v1/manifest`, headers: {} },
@@ -85,7 +84,7 @@ suite('UserDataAutoSyncService', () => {
8584
assert.deepEqual(target.requests, [{ type: 'GET', url: `${target.url}/v1/manifest`, headers: {} }]);
8685
});
8786

88-
test('test auto sync with non sync resource change does not trigger continuous syncs', async () => {
87+
test('test auto sync with non sync resource change triggers sync for every trigger', async () => {
8988
// Setup the client
9089
const target = new UserDataSyncTestServer();
9190
const client = disposableStore.add(new UserDataSyncClient(target));
@@ -99,12 +98,15 @@ suite('UserDataAutoSyncService', () => {
9998
const testObject: UserDataAutoSyncService = client.instantiationService.createInstance(TestUserDataAutoSyncService);
10099

101100
// Trigger auto sync with window focus multiple times
102-
for (let counter = 0; counter < 100; counter++) {
101+
for (let counter = 0; counter < 3; counter++) {
103102
await testObject.triggerAutoSync(['windowFocus']);
104103
}
105104

106-
// Make sure only one request is made
107-
assert.deepEqual(target.requests, [{ type: 'GET', url: `${target.url}/v1/manifest`, headers: {} }]);
105+
assert.deepEqual(target.requests, [
106+
{ type: 'GET', url: `${target.url}/v1/manifest`, headers: {} },
107+
{ type: 'GET', url: `${target.url}/v1/manifest`, headers: {} },
108+
{ type: 'GET', url: `${target.url}/v1/manifest`, headers: {} }
109+
]);
108110
});
109111

110112

0 commit comments

Comments
 (0)