diff --git a/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-uploader-component.tsx b/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-uploader-component.tsx index 91e8126af..0429ff487 100644 --- a/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-uploader-component.tsx +++ b/arduino-ide-extension/src/browser/dialogs/certificate-uploader/certificate-uploader-component.tsx @@ -69,6 +69,7 @@ export const CertificateUploaderComponent = ({ const onItemSelect = React.useCallback( (item: BoardOptionValue | null) => { if (!item) { + setSelectedItem(null); return; } const board = item.board; diff --git a/arduino-ide-extension/src/browser/dialogs/certificate-uploader/select-board-components.tsx b/arduino-ide-extension/src/browser/dialogs/certificate-uploader/select-board-components.tsx index 1f59b5239..d20bf1f87 100644 --- a/arduino-ide-extension/src/browser/dialogs/certificate-uploader/select-board-components.tsx +++ b/arduino-ide-extension/src/browser/dialogs/certificate-uploader/select-board-components.tsx @@ -1,8 +1,9 @@ import { nls } from '@theia/core/lib/common'; import React from '@theia/core/shared/react'; -import type { - BoardList, - BoardListItemWithBoard, +import { + boardListItemEquals, + type BoardList, + type BoardListItemWithBoard, } from '../../../common/protocol/board-list'; import { ArduinoSelect } from '../../widgets/arduino-select'; @@ -75,7 +76,9 @@ export const SelectBoardComponent = ({ setSelectOptions(boardOptions); if (selectedItem) { - selBoard = updatableBoards.indexOf(selectedItem); + selBoard = updatableBoards.findIndex((board) => + boardListItemEquals(board, selectedItem) + ); } selectOption(boardOptions[selBoard] || null); diff --git a/arduino-ide-extension/src/browser/dialogs/firmware-uploader/firmware-uploader-component.tsx b/arduino-ide-extension/src/browser/dialogs/firmware-uploader/firmware-uploader-component.tsx index d7ba26803..3b77511d3 100644 --- a/arduino-ide-extension/src/browser/dialogs/firmware-uploader/firmware-uploader-component.tsx +++ b/arduino-ide-extension/src/browser/dialogs/firmware-uploader/firmware-uploader-component.tsx @@ -104,6 +104,7 @@ export const FirmwareUploaderComponent = ({ const onItemSelect = React.useCallback( (item: BoardListItemWithBoard | null) => { if (!item) { + setSelectedItem(null); return; } const board = item.board;