Skip to content

Commit

Permalink
Showing 3 changed files with 11 additions and 6 deletions.
8 changes: 5 additions & 3 deletions packages/core-browser/src/services/storage-service.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Autowired, Injectable, Optional } from '@opensumi/di';
import { isObject, isUndefinedOrNull } from '@opensumi/ide-core-common';
import { isObject, isUndefinedOrNull, runWhenIdle } from '@opensumi/ide-core-common';

import { Logger } from '../logger';

@@ -63,8 +63,10 @@ abstract class BaseBrowserStorageService implements StorageService {

private init() {
if (typeof window !== 'undefined' && window.localStorage) {
this.clearLocalStorage();
this.testLocalStorage();
runWhenIdle(() => {
this.clearLocalStorage();
this.testLocalStorage();
});
} else {
this.logger.warn("The browser doesn't support localStorage. state will not be persisted across sessions.");
}
2 changes: 1 addition & 1 deletion packages/keymaps/__tests__/browser/keymaps.service.test.ts
Original file line number Diff line number Diff line change
@@ -203,7 +203,7 @@ describe('KeymapsService should be work', () => {
];
await keymapsService.reconcile(keybindings);
runWhenIdle(() => {
expect(mockKeybindingRegistry.getKeybindingsForCommand).toBeCalledTimes(3);
expect(mockKeybindingRegistry.getKeybindingsForCommand).toBeCalledTimes(2);
expect(mockKeybindingRegistry.unregisterKeybinding).toBeCalledTimes(1);
expect(mockKeybindingRegistry.registerKeybinding).toBeCalledTimes(1);
});
7 changes: 5 additions & 2 deletions packages/keymaps/src/browser/keymaps.service.ts
Original file line number Diff line number Diff line change
@@ -28,6 +28,7 @@ import {
Deferred,
Throttler,
Schemes,
runWhenIdle,
} from '@opensumi/ide-core-browser';
import { IProgressService } from '@opensumi/ide-core-browser/lib/progress';
import { IFileServiceClient } from '@opensumi/ide-file-service';
@@ -291,9 +292,11 @@ export class KeymapService implements IKeymapService {
if (this.currentSearchValue) {
this.doSearchKeybindings(this.currentSearchValue);
} else {
this.keybindings = this.getKeybindingItems();
runWhenIdle(() => {
this.keybindings = this.getKeybindingItems();
this.keymapChangeEmitter.fire(this.keybindings);
});
}
this.keymapChangeEmitter.fire(this.keybindings);
}

/**

0 comments on commit dd06f9b

Please sign in to comment.