Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7a3e678

Browse files
Akos Kittakittaakos
Akos Kitta
authored andcommitted
Defer settings/certificates load until app ready.
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
1 parent 92bc5ec commit 7a3e678

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

‎arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-uploader-dialog.tsx‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { CommandRegistry } from '@theia/core/lib/common/command';
1919
import { certificateList, sanifyCertString } from './utils';
2020
import { ArduinoFirmwareUploader } from '../../../common/protocol/arduino-firmware-uploader';
2121
import { nls } from '@theia/core/lib/common';
22+
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
2223

2324
@injectable()
2425
export class UploadCertificateDialogWidget extends ReactWidget {
@@ -37,6 +38,9 @@ export class UploadCertificateDialogWidget extends ReactWidget {
3738
@inject(ArduinoFirmwareUploader)
3839
protected readonly arduinoFirmwareUploader: ArduinoFirmwareUploader;
3940

41+
@inject(FrontendApplicationStateService)
42+
private readonly appStateService: FrontendApplicationStateService;
43+
4044
protected certificates: string[] = [];
4145
protected updatableFqbns: string[] = [];
4246
protected availableBoards: AvailableBoard[] = [];
@@ -66,10 +70,12 @@ export class UploadCertificateDialogWidget extends ReactWidget {
6670
}
6771
});
6872

69-
this.arduinoFirmwareUploader.updatableBoards().then((fqbns) => {
70-
this.updatableFqbns = fqbns;
71-
this.update();
72-
});
73+
this.appStateService.reachedState('ready').then(() =>
74+
this.arduinoFirmwareUploader.updatableBoards().then((fqbns) => {
75+
this.updatableFqbns = fqbns;
76+
this.update();
77+
})
78+
);
7379

7480
this.boardsServiceClient.onAvailableBoardsChanged((availableBoards) => {
7581
this.availableBoards = availableBoards;

‎arduino-ide-extension/src/browser/dialogs/settings/settings.ts‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,11 @@ export class SettingsService {
111111

112112
@postConstruct()
113113
protected async init(): Promise<void> {
114-
const settings = await this.loadSettings();
115-
this._settings = deepClone(settings);
116-
this.ready.resolve();
114+
this.appStateService.reachedState('ready').then(async () => {
115+
const settings = await this.loadSettings();
116+
this._settings = deepClone(settings);
117+
this.ready.resolve();
118+
});
117119
}
118120

119121
protected async loadSettings(): Promise<Settings> {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /