diff --git a/arduino-ide-extension/src/browser/boards/boards-service-provider.ts b/arduino-ide-extension/src/browser/boards/boards-service-provider.ts index e1951962e..65842eca3 100644 --- a/arduino-ide-extension/src/browser/boards/boards-service-provider.ts +++ b/arduino-ide-extension/src/browser/boards/boards-service-provider.ts @@ -409,14 +409,16 @@ export class BoardsServiceProvider } async selectedBoardUserFields(): Promise { - if (!this._boardsConfig.selectedBoard || !this._boardsConfig.selectedPort) { + if (!this._boardsConfig.selectedBoard) { return []; } const fqbn = this._boardsConfig.selectedBoard.fqbn; if (!fqbn) { return []; } - const protocol = this._boardsConfig.selectedPort.protocol; + // Protocol must be set to `default` when uploading without a port selected: + // https://arduino.github.io/arduino-cli/dev/platform-specification/#sketch-upload-configuration + const protocol = this._boardsConfig.selectedPort?.protocol || 'default'; return await this.boardsService.getBoardUserFields({ fqbn, protocol }); } diff --git a/arduino-ide-extension/src/browser/contributions/user-fields.ts b/arduino-ide-extension/src/browser/contributions/user-fields.ts index 445fdc480..195ab07da 100644 --- a/arduino-ide-extension/src/browser/contributions/user-fields.ts +++ b/arduino-ide-extension/src/browser/contributions/user-fields.ts @@ -66,10 +66,8 @@ export class UserFields extends Contribution { } const address = boardsConfig.selectedBoard?.port?.address || - boardsConfig.selectedPort?.address; - if (!address) { - return undefined; - } + boardsConfig.selectedPort?.address || + ''; return fqbn + '|' + address; }