Ensure exact match when installing Arduino_BuiltIn

on the first IDE2 startup.

Closes #1526

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
This commit is contained in:
Akos Kitta 2022-10-05 14:28:15 +02:00 committed by Akos Kitta
parent 1e269ac83d
commit 2d2be1f6d0

View File

@ -7,6 +7,8 @@ import {
} from '../../common/protocol'; } from '../../common/protocol';
import { Contribution } from './contribution'; import { Contribution } from './contribution';
const Arduino_BuiltIn = 'Arduino_BuiltIn';
@injectable() @injectable()
export class FirstStartupInstaller extends Contribution { export class FirstStartupInstaller extends Contribution {
@inject(LocalStorageService) @inject(LocalStorageService)
@ -25,8 +27,8 @@ export class FirstStartupInstaller extends Contribution {
id: 'arduino:avr', id: 'arduino:avr',
}); });
const builtInLibrary = ( const builtInLibrary = (
await this.libraryService.search({ query: 'Arduino_BuiltIn' }) await this.libraryService.search({ query: Arduino_BuiltIn })
)[0]; ).find(({ name }) => name === Arduino_BuiltIn); // Filter by `name` to ensure "exact match". See: https://github.com/arduino/arduino-ide/issues/1526.
let avrPackageError: Error | undefined; let avrPackageError: Error | undefined;
let builtInLibraryError: Error | undefined; let builtInLibraryError: Error | undefined;
@ -84,7 +86,7 @@ export class FirstStartupInstaller extends Contribution {
} }
if (builtInLibraryError) { if (builtInLibraryError) {
this.messageService.error( this.messageService.error(
`Could not install ${builtInLibrary.name} library: ${builtInLibraryError}` `Could not install ${Arduino_BuiltIn} library: ${builtInLibraryError}`
); );
} }