mirror of
https://github.com/coder/code-server.git
synced 2026-05-10 14:27:26 +02:00
chore(vscode): update to 1.53.2
These conflicts will be resolved in the following commits. We do it this way so that PR review is possible.
This commit is contained in:
@@ -200,12 +200,10 @@ export class GlobalStorageDatabaseChannelClient extends Disposable implements IS
|
||||
return this.channel.call('updateItems', serializableRequest);
|
||||
}
|
||||
|
||||
close(): Promise<void> {
|
||||
async close(): Promise<void> {
|
||||
|
||||
// when we are about to close, we start to ignore main-side changes since we close anyway
|
||||
dispose(this.onDidChangeItemsOnMainListener);
|
||||
|
||||
return Promise.resolve(); // global storage is closed on the main side
|
||||
}
|
||||
|
||||
dispose(): void {
|
||||
|
||||
@@ -12,7 +12,7 @@ import { mark } from 'vs/base/common/performance';
|
||||
import { join } from 'vs/base/common/path';
|
||||
import { copy, exists, mkdirp, writeFile } from 'vs/base/node/pfs';
|
||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { IWorkspaceInitializationPayload, isWorkspaceIdentifier, isSingleFolderWorkspaceInitializationPayload } from 'vs/platform/workspaces/common/workspaces';
|
||||
import { isSingleFolderWorkspaceIdentifier, isWorkspaceIdentifier, IWorkspaceInitializationPayload } from 'vs/platform/workspaces/common/workspaces';
|
||||
import { assertIsDefined } from 'vs/base/common/types';
|
||||
import { RunOnceScheduler, runWhenIdle } from 'vs/base/common/async';
|
||||
|
||||
@@ -83,7 +83,7 @@ export class NativeStorageService extends AbstractStorageService {
|
||||
const useInMemoryStorage = !!this.environmentService.extensionTestsLocationURI; // no storage during extension tests!
|
||||
|
||||
// Create workspace storage and initialize
|
||||
mark('willInitWorkspaceStorage');
|
||||
mark('code/willInitWorkspaceStorage');
|
||||
try {
|
||||
const workspaceStorage = this.createWorkspaceStorage(
|
||||
useInMemoryStorage ? SQLiteStorageDatabase.IN_MEMORY_PATH : join(result.path, NativeStorageService.WORKSPACE_STORAGE_NAME),
|
||||
@@ -99,7 +99,7 @@ export class NativeStorageService extends AbstractStorageService {
|
||||
workspaceStorage.set(IS_NEW_KEY, false);
|
||||
}
|
||||
} finally {
|
||||
mark('didInitWorkspaceStorage');
|
||||
mark('code/didInitWorkspaceStorage');
|
||||
}
|
||||
} catch (error) {
|
||||
this.logService.error(`[storage] initializeWorkspaceStorage(): Unable to init workspace storage due to ${error}`);
|
||||
@@ -148,23 +148,22 @@ export class NativeStorageService extends AbstractStorageService {
|
||||
|
||||
private ensureWorkspaceStorageFolderMeta(payload: IWorkspaceInitializationPayload): void {
|
||||
let meta: object | undefined = undefined;
|
||||
if (isSingleFolderWorkspaceInitializationPayload(payload)) {
|
||||
meta = { folder: payload.folder.toString() };
|
||||
if (isSingleFolderWorkspaceIdentifier(payload)) {
|
||||
meta = { folder: payload.uri.toString() };
|
||||
} else if (isWorkspaceIdentifier(payload)) {
|
||||
meta = { configuration: payload.configPath };
|
||||
meta = { workspace: payload.configPath.toString() };
|
||||
}
|
||||
|
||||
if (meta) {
|
||||
const logService = this.logService;
|
||||
const workspaceStorageMetaPath = join(this.getWorkspaceStorageFolderPath(payload), NativeStorageService.WORKSPACE_META_NAME);
|
||||
(async function () {
|
||||
(async () => {
|
||||
try {
|
||||
const workspaceStorageMetaPath = join(this.getWorkspaceStorageFolderPath(payload), NativeStorageService.WORKSPACE_META_NAME);
|
||||
const storageExists = await exists(workspaceStorageMetaPath);
|
||||
if (!storageExists) {
|
||||
await writeFile(workspaceStorageMetaPath, JSON.stringify(meta, undefined, 2));
|
||||
}
|
||||
} catch (error) {
|
||||
logService.error(error);
|
||||
this.logService.error(error);
|
||||
}
|
||||
})();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { strictEqual, ok, equal } from 'assert';
|
||||
import { strictEqual, ok } from 'assert';
|
||||
import { StorageScope, InMemoryStorageService, StorageTarget, IStorageValueChangeEvent, IStorageTargetChangeEvent } from 'vs/platform/storage/common/storage';
|
||||
|
||||
suite('StorageService', function () {
|
||||
@@ -32,15 +32,15 @@ suite('StorageService', function () {
|
||||
storage.store('test.get', 'foobar', scope, StorageTarget.MACHINE);
|
||||
strictEqual(storage.get('test.get', scope, (undefined)!), 'foobar');
|
||||
let storageValueChangeEvent = storageValueChangeEvents.find(e => e.key === 'test.get');
|
||||
equal(storageValueChangeEvent?.scope, scope);
|
||||
equal(storageValueChangeEvent?.key, 'test.get');
|
||||
strictEqual(storageValueChangeEvent?.scope, scope);
|
||||
strictEqual(storageValueChangeEvent?.key, 'test.get');
|
||||
storageValueChangeEvents = [];
|
||||
|
||||
storage.store('test.get', '', scope, StorageTarget.MACHINE);
|
||||
strictEqual(storage.get('test.get', scope, (undefined)!), '');
|
||||
storageValueChangeEvent = storageValueChangeEvents.find(e => e.key === 'test.get');
|
||||
equal(storageValueChangeEvent!.scope, scope);
|
||||
equal(storageValueChangeEvent!.key, 'test.get');
|
||||
strictEqual(storageValueChangeEvent!.scope, scope);
|
||||
strictEqual(storageValueChangeEvent!.key, 'test.get');
|
||||
|
||||
storage.store('test.getNumber', 5, scope, StorageTarget.MACHINE);
|
||||
strictEqual(storage.getNumber('test.getNumber', scope, (undefined)!), 5);
|
||||
@@ -79,8 +79,8 @@ suite('StorageService', function () {
|
||||
storage.remove('test.remove', scope);
|
||||
ok(!storage.get('test.remove', scope, (undefined)!));
|
||||
let storageValueChangeEvent = storageValueChangeEvents.find(e => e.key === 'test.remove');
|
||||
equal(storageValueChangeEvent?.scope, scope);
|
||||
equal(storageValueChangeEvent?.key, 'test.remove');
|
||||
strictEqual(storageValueChangeEvent?.scope, scope);
|
||||
strictEqual(storageValueChangeEvent?.key, 'test.remove');
|
||||
}
|
||||
|
||||
test('Keys (in-memory)', () => {
|
||||
@@ -107,20 +107,20 @@ suite('StorageService', function () {
|
||||
|
||||
storage.store('test.target1', 'value1', scope, target);
|
||||
strictEqual(storage.keys(scope, target).length, 1);
|
||||
equal(storageTargetEvent?.scope, scope);
|
||||
equal(storageValueChangeEvent?.key, 'test.target1');
|
||||
equal(storageValueChangeEvent?.scope, scope);
|
||||
equal(storageValueChangeEvent?.target, target);
|
||||
strictEqual(storageTargetEvent?.scope, scope);
|
||||
strictEqual(storageValueChangeEvent?.key, 'test.target1');
|
||||
strictEqual(storageValueChangeEvent?.scope, scope);
|
||||
strictEqual(storageValueChangeEvent?.target, target);
|
||||
|
||||
storageTargetEvent = undefined;
|
||||
storageValueChangeEvent = Object.create(null);
|
||||
|
||||
storage.store('test.target1', 'otherValue1', scope, target);
|
||||
strictEqual(storage.keys(scope, target).length, 1);
|
||||
equal(storageTargetEvent, undefined);
|
||||
equal(storageValueChangeEvent?.key, 'test.target1');
|
||||
equal(storageValueChangeEvent?.scope, scope);
|
||||
equal(storageValueChangeEvent?.target, target);
|
||||
strictEqual(storageTargetEvent, undefined);
|
||||
strictEqual(storageValueChangeEvent?.key, 'test.target1');
|
||||
strictEqual(storageValueChangeEvent?.scope, scope);
|
||||
strictEqual(storageValueChangeEvent?.target, target);
|
||||
|
||||
storage.store('test.target2', 'value2', scope, target);
|
||||
storage.store('test.target3', 'value3', scope, target);
|
||||
@@ -142,9 +142,9 @@ suite('StorageService', function () {
|
||||
|
||||
storage.remove('test.target4', scope);
|
||||
strictEqual(storage.keys(scope, target).length, keysLength);
|
||||
equal(storageTargetEvent?.scope, scope);
|
||||
equal(storageValueChangeEvent?.key, 'test.target4');
|
||||
equal(storageValueChangeEvent?.scope, scope);
|
||||
strictEqual(storageTargetEvent?.scope, scope);
|
||||
strictEqual(storageValueChangeEvent?.key, 'test.target4');
|
||||
strictEqual(storageValueChangeEvent?.scope, scope);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ suite('StorageService', function () {
|
||||
|
||||
storage.store('test.target1', undefined, scope, target);
|
||||
strictEqual(storage.keys(scope, target).length, 0);
|
||||
equal(storageTargetEvent?.scope, scope);
|
||||
strictEqual(storageTargetEvent?.scope, scope);
|
||||
|
||||
storage.store('test.target1', '', scope, target);
|
||||
strictEqual(storage.keys(scope, target).length, 1);
|
||||
|
||||
@@ -3,12 +3,11 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { equal } from 'assert';
|
||||
import { strictEqual } from 'assert';
|
||||
import { FileStorageDatabase } from 'vs/platform/storage/browser/storageService';
|
||||
import { generateUuid } from 'vs/base/common/uuid';
|
||||
import { join } from 'vs/base/common/path';
|
||||
import { tmpdir } from 'os';
|
||||
import { rimraf, RimRafMode } from 'vs/base/node/pfs';
|
||||
import { rimraf } from 'vs/base/node/pfs';
|
||||
import { NullLogService } from 'vs/platform/log/common/log';
|
||||
import { Storage } from 'vs/base/parts/storage/common/storage';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
@@ -20,11 +19,10 @@ import { Schemas } from 'vs/base/common/network';
|
||||
|
||||
suite('Storage', () => {
|
||||
|
||||
const parentDir = getRandomTestPath(tmpdir(), 'vsctests', 'storageservice');
|
||||
let testDir: string;
|
||||
|
||||
let fileService: FileService;
|
||||
let fileProvider: DiskFileSystemProvider;
|
||||
let testDir: string;
|
||||
|
||||
const disposables = new DisposableStore();
|
||||
|
||||
@@ -38,14 +36,13 @@ suite('Storage', () => {
|
||||
disposables.add(fileService.registerProvider(Schemas.file, fileProvider));
|
||||
disposables.add(fileProvider);
|
||||
|
||||
const id = generateUuid();
|
||||
testDir = join(parentDir, id);
|
||||
testDir = getRandomTestPath(tmpdir(), 'vsctests', 'storageservice');
|
||||
});
|
||||
|
||||
teardown(async () => {
|
||||
teardown(() => {
|
||||
disposables.clear();
|
||||
|
||||
await rimraf(parentDir, RimRafMode.MOVE);
|
||||
return rimraf(testDir);
|
||||
});
|
||||
|
||||
test('File Based Storage', async () => {
|
||||
@@ -57,9 +54,9 @@ suite('Storage', () => {
|
||||
storage.set('barNumber', 55);
|
||||
storage.set('barBoolean', true);
|
||||
|
||||
equal(storage.get('bar'), 'foo');
|
||||
equal(storage.get('barNumber'), '55');
|
||||
equal(storage.get('barBoolean'), 'true');
|
||||
strictEqual(storage.get('bar'), 'foo');
|
||||
strictEqual(storage.get('barNumber'), '55');
|
||||
strictEqual(storage.get('barBoolean'), 'true');
|
||||
|
||||
await storage.close();
|
||||
|
||||
@@ -67,17 +64,17 @@ suite('Storage', () => {
|
||||
|
||||
await storage.init();
|
||||
|
||||
equal(storage.get('bar'), 'foo');
|
||||
equal(storage.get('barNumber'), '55');
|
||||
equal(storage.get('barBoolean'), 'true');
|
||||
strictEqual(storage.get('bar'), 'foo');
|
||||
strictEqual(storage.get('barNumber'), '55');
|
||||
strictEqual(storage.get('barBoolean'), 'true');
|
||||
|
||||
storage.delete('bar');
|
||||
storage.delete('barNumber');
|
||||
storage.delete('barBoolean');
|
||||
|
||||
equal(storage.get('bar', 'undefined'), 'undefined');
|
||||
equal(storage.get('barNumber', 'undefinedNumber'), 'undefinedNumber');
|
||||
equal(storage.get('barBoolean', 'undefinedBoolean'), 'undefinedBoolean');
|
||||
strictEqual(storage.get('bar', 'undefined'), 'undefined');
|
||||
strictEqual(storage.get('barNumber', 'undefinedNumber'), 'undefinedNumber');
|
||||
strictEqual(storage.get('barBoolean', 'undefinedBoolean'), 'undefinedBoolean');
|
||||
|
||||
await storage.close();
|
||||
|
||||
@@ -85,8 +82,8 @@ suite('Storage', () => {
|
||||
|
||||
await storage.init();
|
||||
|
||||
equal(storage.get('bar', 'undefined'), 'undefined');
|
||||
equal(storage.get('barNumber', 'undefinedNumber'), 'undefinedNumber');
|
||||
equal(storage.get('barBoolean', 'undefinedBoolean'), 'undefinedBoolean');
|
||||
strictEqual(storage.get('bar', 'undefined'), 'undefined');
|
||||
strictEqual(storage.get('barNumber', 'undefinedNumber'), 'undefinedNumber');
|
||||
strictEqual(storage.get('barBoolean', 'undefinedBoolean'), 'undefinedBoolean');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -3,33 +3,33 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { equal } from 'assert';
|
||||
import { strictEqual } from 'assert';
|
||||
import { StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
|
||||
import { NativeStorageService } from 'vs/platform/storage/node/storageService';
|
||||
import { generateUuid } from 'vs/base/common/uuid';
|
||||
import { join } from 'vs/base/common/path';
|
||||
import { tmpdir } from 'os';
|
||||
import { mkdirp, rimraf, RimRafMode } from 'vs/base/node/pfs';
|
||||
import { mkdirp, rimraf } from 'vs/base/node/pfs';
|
||||
import { NullLogService } from 'vs/platform/log/common/log';
|
||||
import { NativeEnvironmentService } from 'vs/platform/environment/node/environmentService';
|
||||
import { parseArgs, OPTIONS } from 'vs/platform/environment/node/argv';
|
||||
import { InMemoryStorageDatabase } from 'vs/base/parts/storage/common/storage';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { flakySuite, getRandomTestPath } from 'vs/base/test/node/testUtils';
|
||||
|
||||
suite('NativeStorageService', function () {
|
||||
flakySuite('NativeStorageService', function () {
|
||||
|
||||
function uniqueStorageDir(): string {
|
||||
const id = generateUuid();
|
||||
let testDir: string;
|
||||
|
||||
return join(tmpdir(), 'vsctests', id, 'storage2', id);
|
||||
}
|
||||
setup(() => {
|
||||
testDir = getRandomTestPath(tmpdir(), 'vsctests', 'storageservice');
|
||||
|
||||
test('Migrate Data', async () => {
|
||||
return mkdirp(testDir);
|
||||
});
|
||||
|
||||
// Given issues such as https://github.com/microsoft/vscode/issues/108113
|
||||
// we see random test failures when accessing the native file system.
|
||||
this.retries(3);
|
||||
this.timeout(1000 * 20);
|
||||
teardown(() => {
|
||||
return rimraf(testDir);
|
||||
});
|
||||
|
||||
test('Migrate Data', async function () {
|
||||
|
||||
class StorageTestEnvironmentService extends NativeEnvironmentService {
|
||||
|
||||
@@ -46,27 +46,23 @@ suite('NativeStorageService', function () {
|
||||
}
|
||||
}
|
||||
|
||||
const storageDir = uniqueStorageDir();
|
||||
await mkdirp(storageDir);
|
||||
|
||||
const storage = new NativeStorageService(new InMemoryStorageDatabase(), new NullLogService(), new StorageTestEnvironmentService(URI.file(storageDir), storageDir));
|
||||
const storage = new NativeStorageService(new InMemoryStorageDatabase(), new NullLogService(), new StorageTestEnvironmentService(URI.file(testDir), testDir));
|
||||
await storage.initialize({ id: String(Date.now()) });
|
||||
|
||||
storage.store('bar', 'foo', StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
||||
storage.store('barNumber', 55, StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
||||
storage.store('barBoolean', true, StorageScope.GLOBAL, StorageTarget.MACHINE);
|
||||
|
||||
equal(storage.get('bar', StorageScope.WORKSPACE), 'foo');
|
||||
equal(storage.getNumber('barNumber', StorageScope.WORKSPACE), 55);
|
||||
equal(storage.getBoolean('barBoolean', StorageScope.GLOBAL), true);
|
||||
strictEqual(storage.get('bar', StorageScope.WORKSPACE), 'foo');
|
||||
strictEqual(storage.getNumber('barNumber', StorageScope.WORKSPACE), 55);
|
||||
strictEqual(storage.getBoolean('barBoolean', StorageScope.GLOBAL), true);
|
||||
|
||||
await storage.migrate({ id: String(Date.now() + 100) });
|
||||
|
||||
equal(storage.get('bar', StorageScope.WORKSPACE), 'foo');
|
||||
equal(storage.getNumber('barNumber', StorageScope.WORKSPACE), 55);
|
||||
equal(storage.getBoolean('barBoolean', StorageScope.GLOBAL), true);
|
||||
strictEqual(storage.get('bar', StorageScope.WORKSPACE), 'foo');
|
||||
strictEqual(storage.getNumber('barNumber', StorageScope.WORKSPACE), 55);
|
||||
strictEqual(storage.getBoolean('barBoolean', StorageScope.GLOBAL), true);
|
||||
|
||||
await storage.close();
|
||||
await rimraf(storageDir, RimRafMode.MOVE);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user