Skip to content

Commit 89dd3aa

Browse files
committed
fix: fix unhandled promise rejection error thrown from sidekick
1 parent 95e9cbb commit 89dd3aa

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

lib/services/livesync/playground/preview-app-livesync-service.ts

+17-12
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,25 @@ export class PreviewAppLiveSyncService extends EventEmitter implements IPreviewA
2626

2727
public async initialize(data: IPreviewAppLiveSyncData): Promise<void> {
2828
await this.$previewSdkService.initialize(async (device: Device) => {
29-
if (!device) {
30-
this.$errors.failWithoutHelp("Sending initial preview files without a specified device is not supported.");
31-
}
29+
try {
30+
if (!device) {
31+
this.$errors.failWithoutHelp("Sending initial preview files without a specified device is not supported.");
32+
}
3233

33-
if (this.deviceInitializationPromise[device.id]) {
34-
return this.deviceInitializationPromise[device.id];
35-
}
34+
if (this.deviceInitializationPromise[device.id]) {
35+
return this.deviceInitializationPromise[device.id];
36+
}
3637

37-
this.deviceInitializationPromise[device.id] = this.getInitialFilesForDevice(data, device);
38-
try {
39-
const payloads = await this.deviceInitializationPromise[device.id];
40-
return payloads;
41-
} finally {
42-
this.deviceInitializationPromise[device.id] = null;
38+
this.deviceInitializationPromise[device.id] = this.getInitialFilesForDevice(data, device);
39+
try {
40+
const payloads = await this.deviceInitializationPromise[device.id];
41+
return payloads;
42+
} finally {
43+
this.deviceInitializationPromise[device.id] = null;
44+
}
45+
} catch (err) {
46+
this.$logger.error(err);
47+
this.emit(PreviewAppLiveSyncEvents.PREVIEW_APP_LIVE_SYNC_ERROR, err);
4348
}
4449
});
4550
}

0 commit comments

Comments
 (0)