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

Appearance settings

Commit b2bf368

Browse filesBrowse files
Akos Kittakittaakos
Akos Kitta
authored andcommitted
fix: update Examples and Include Library menu after ZIP install
Closes arduino#659 Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
1 parent 287b2e3 commit b2bf368
Copy full SHA for b2bf368

File tree

4 files changed

+29
-19
lines changed
Filter options

4 files changed

+29
-19
lines changed

‎arduino-ide-extension/src/browser/notification-center.ts

Copy file name to clipboardExpand all lines: arduino-ide-extension/src/browser/notification-center.ts
+4-2Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export class NotificationCenter
5656
item: BoardsPackage;
5757
}>();
5858
private readonly libraryDidInstallEmitter = new Emitter<{
59-
item: LibraryPackage;
59+
item: LibraryPackage | 'zip-install';
6060
}>();
6161
private readonly libraryDidUninstallEmitter = new Emitter<{
6262
item: LibraryPackage;
@@ -156,7 +156,9 @@ export class NotificationCenter
156156
this.platformDidUninstallEmitter.fire(event);
157157
}
158158

159-
notifyLibraryDidInstall(event: { item: LibraryPackage }): void {
159+
notifyLibraryDidInstall(event: {
160+
item: LibraryPackage | 'zip-install';
161+
}): void {
160162
this.libraryDidInstallEmitter.fire(event);
161163
}
162164

‎arduino-ide-extension/src/common/protocol/notification-service.ts

Copy file name to clipboardExpand all lines: arduino-ide-extension/src/common/protocol/notification-service.ts
+3-1Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ export interface NotificationServiceClient {
6262
notifyPlatformDidUninstall(event: { item: BoardsPackage }): void;
6363

6464
// Libraries
65-
notifyLibraryDidInstall(event: { item: LibraryPackage }): void;
65+
notifyLibraryDidInstall(event: {
66+
item: LibraryPackage | 'zip-install';
67+
}): void;
6668
notifyLibraryDidUninstall(event: { item: LibraryPackage }): void;
6769

6870
// Boards discovery

‎arduino-ide-extension/src/node/library-service-impl.ts

Copy file name to clipboardExpand all lines: arduino-ide-extension/src/node/library-service-impl.ts
+19-15Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -373,22 +373,26 @@ export class LibraryServiceImpl
373373

374374
// stop the board discovery
375375
await this.boardDiscovery.stop();
376-
377-
const resp = client.zipLibraryInstall(req);
378-
resp.on(
379-
'data',
380-
ExecuteWithProgress.createDataCallback({
381-
progressId,
382-
responseService: this.responseService,
383-
})
384-
);
385-
await new Promise<void>((resolve, reject) => {
386-
resp.on('end', () => {
387-
this.boardDiscovery.start(); // TODO: remove discovery dependency from boards service. See https://github.com/arduino/arduino-ide/pull/1107 why this is here.
388-
resolve();
376+
try {
377+
const resp = client.zipLibraryInstall(req);
378+
resp.on(
379+
'data',
380+
ExecuteWithProgress.createDataCallback({
381+
progressId,
382+
responseService: this.responseService,
383+
})
384+
);
385+
await new Promise<void>((resolve, reject) => {
386+
resp.on('end', resolve);
387+
resp.on('error', reject);
389388
});
390-
resp.on('error', reject);
391-
});
389+
await this.refresh(); // let the CLI re-scan the libraries
390+
this.notificationServer.notifyLibraryDidInstall({
391+
item: 'zip-install',
392+
});
393+
} finally {
394+
this.boardDiscovery.start(); // TODO: remove discovery dependency from boards service. See https://github.com/arduino/arduino-ide/pull/1107 why this is here.
395+
}
392396
}
393397

394398
async uninstall(options: {

‎arduino-ide-extension/src/node/notification-service-server.ts

Copy file name to clipboardExpand all lines: arduino-ide-extension/src/node/notification-service-server.ts
+3-1Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ export class NotificationServiceServerImpl
5959
this.clients.forEach((client) => client.notifyPlatformDidUninstall(event));
6060
}
6161

62-
notifyLibraryDidInstall(event: { item: LibraryPackage }): void {
62+
notifyLibraryDidInstall(event: {
63+
item: LibraryPackage | 'zip-install';
64+
}): void {
6365
this.clients.forEach((client) => client.notifyLibraryDidInstall(event));
6466
}
6567

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.