diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eecd06d47..54cdcdbbd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,7 +45,7 @@ on: env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' # See: https://github.com/actions/setup-node/#readme NODE_VERSION: '18.17' JOB_TRANSFER_ARTIFACT: build-artifacts diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index ec80cad86..22426313a 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -2,7 +2,7 @@ name: Check Internationalization env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/i18n-nightly-push.yml b/.github/workflows/i18n-nightly-push.yml index 92e8b6eb0..6f401a526 100644 --- a/.github/workflows/i18n-nightly-push.yml +++ b/.github/workflows/i18n-nightly-push.yml @@ -2,7 +2,7 @@ name: i18n-nightly-push env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' on: schedule: diff --git a/.github/workflows/i18n-weekly-pull.yml b/.github/workflows/i18n-weekly-pull.yml index 7f4c5d293..88157a7fa 100644 --- a/.github/workflows/i18n-weekly-pull.yml +++ b/.github/workflows/i18n-weekly-pull.yml @@ -2,7 +2,7 @@ name: i18n-weekly-pull env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' on: schedule: diff --git a/.github/workflows/themes-weekly-pull.yml b/.github/workflows/themes-weekly-pull.yml index f9fcb446a..bd9f845c1 100644 --- a/.github/workflows/themes-weekly-pull.yml +++ b/.github/workflows/themes-weekly-pull.yml @@ -8,7 +8,7 @@ on: env: # See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml - GO_VERSION: '1.19' + GO_VERSION: '1.21' NODE_VERSION: '18.17' jobs: diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index f54ef3017..d6e033829 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide-extension", - "version": "2.3.1", + "version": "2.3.2", "description": "An extension for Theia building the Arduino IDE", "license": "AGPL-3.0-or-later", "scripts": { @@ -169,7 +169,7 @@ ], "arduino": { "arduino-cli": { - "version": "0.35.2" + "version": "0.35.3" }, "arduino-fwuploader": { "version": "2.4.1" diff --git a/arduino-ide-extension/src/browser/contributions/debug.ts b/arduino-ide-extension/src/browser/contributions/debug.ts index cc49b3809..e94755c46 100644 --- a/arduino-ide-extension/src/browser/contributions/debug.ts +++ b/arduino-ide-extension/src/browser/contributions/debug.ts @@ -398,12 +398,9 @@ export async function isDebugEnabled( `Failed to append boards config to the FQBN. Original FQBN was: ${fqbn}` ); } - if (!data.selectedProgrammer) { - throw new Error(noProgrammerSelectedFor(board.name)); - } const params = { fqbn: fqbnWithConfig, - programmer: data.selectedProgrammer.id, + programmer: data.selectedProgrammer?.id, }; try { const debugFqbn = await checkDebugEnabled(params); @@ -443,13 +440,3 @@ export function debuggingNotSupported(boardName: string): string { boardName ); } -/** - * (non-API) - */ -export function noProgrammerSelectedFor(boardName: string): string { - return nls.localize( - 'arduino/debug/noProgrammerSelectedFor', - "No programmer selected for '{0}'", - boardName - ); -} diff --git a/arduino-ide-extension/src/common/protocol/boards-service.ts b/arduino-ide-extension/src/common/protocol/boards-service.ts index a06dffd33..ba1b9f575 100644 --- a/arduino-ide-extension/src/common/protocol/boards-service.ts +++ b/arduino-ide-extension/src/common/protocol/boards-service.ts @@ -95,7 +95,7 @@ export interface CheckDebugEnabledParams { * The FQBN might contain custom board config options. For example, `arduino:esp32:nano_nora:USBMode=hwcdc,option2=value2`. */ readonly fqbn: string; - readonly programmer: string; + readonly programmer?: string; } export interface BoardSearch extends Searchable.Options { diff --git a/arduino-ide-extension/src/node/boards-service-impl.ts b/arduino-ide-extension/src/node/boards-service-impl.ts index 3b04b18eb..0d1926f9c 100644 --- a/arduino-ide-extension/src/node/boards-service-impl.ts +++ b/arduino-ide-extension/src/node/boards-service-impl.ts @@ -178,7 +178,7 @@ export class BoardsServiceImpl const req = new IsDebugSupportedRequest() .setInstance(instance) .setFqbn(fqbn) - .setProgrammer(programmer); + .setProgrammer(programmer ?? ''); try { const debugFqbn = await new Promise((resolve, reject) => client.isDebugSupported(req, (err, resp) => { diff --git a/arduino-ide-extension/src/test/browser/debug.test.ts b/arduino-ide-extension/src/test/browser/debug.test.ts index 0f41bad5c..e66cd65a0 100644 --- a/arduino-ide-extension/src/test/browser/debug.test.ts +++ b/arduino-ide-extension/src/test/browser/debug.test.ts @@ -28,7 +28,6 @@ import { debuggingNotSupported, isDebugEnabled, noPlatformInstalledFor, - noProgrammerSelectedFor, } from '../../browser/contributions/debug'; import { NotificationCenter } from '../../browser/notification-center'; import { noBoardSelected } from '../../common/nls'; @@ -117,20 +116,20 @@ describe('debug', () => { ); }); - it('should error when no programmer selected', async () => { + it('should resolve when no programmer is selected (arduino/arduino-cli#2540)', async () => { const copyData: Mutable = deepClone(data); delete copyData.selectedProgrammer; - await rejects( + await doesNotReject( isDebugEnabled( board, () => boardDetails, () => copyData, (fqbn) => fqbn, - unexpectedCall() - ), - (reason) => - reason instanceof Error && - reason.message === noProgrammerSelectedFor(board.name) + async (params) => { + expect(params.programmer).to.be.undefined; + return params.fqbn; + } + ) ); }); diff --git a/electron-app/package.json b/electron-app/package.json index d0e38cc60..6453e4817 100644 --- a/electron-app/package.json +++ b/electron-app/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "electron-app", - "version": "2.3.1", + "version": "2.3.2", "license": "AGPL-3.0-or-later", "main": "./src-gen/backend/electron-main.js", "dependencies": { @@ -19,7 +19,7 @@ "@theia/preferences": "1.41.0", "@theia/terminal": "1.41.0", "@theia/workspace": "1.41.0", - "arduino-ide-extension": "2.3.1" + "arduino-ide-extension": "2.3.2" }, "devDependencies": { "@theia/cli": "1.41.0", @@ -196,7 +196,7 @@ "theiaPlugins": { "vscode-builtin-cpp": "https://open-vsx.org/api/vscode/cpp/1.52.1/file/vscode.cpp-1.52.1.vsix", "vscode-arduino-api": "https://github.com/dankeboy36/vscode-arduino-api/releases/download/0.1.2/vscode-arduino-api-0.1.2.vsix", - "vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.1.2.vsix", + "vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.1.3.vsix", "vscode-builtin-json": "https://open-vsx.org/api/vscode/json/1.46.1/file/vscode.json-1.46.1.vsix", "vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.46.1/file/vscode.json-language-features-1.46.1.vsix", "cortex-debug": "https://downloads.arduino.cc/marus25.cortex-debug/marus25.cortex-debug-1.5.1.vsix", diff --git a/i18n/en.json b/i18n/en.json index 841ab3a91..234781e58 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -213,7 +213,6 @@ "debuggingNotSupported": "Debugging is not supported by '{0}'", "getDebugInfo": "Getting debug info...", "noPlatformInstalledFor": "Platform is not installed for '{0}'", - "noProgrammerSelectedFor": "No programmer selected for '{0}'", "optimizeForDebugging": "Optimize for Debugging", "sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?" }, diff --git a/i18n/my_MM.json b/i18n/my_MM.json index b6620aff2..f6dd4b7c4 100644 --- a/i18n/my_MM.json +++ b/i18n/my_MM.json @@ -1,13 +1,13 @@ { "arduino": { "about": { - "detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}", + "detail": "ဗားရှင်း - {0}\nရက်စွဲ {1}{2}\nCLI ဗားရှင်း - {3}\n\n{4}", "label": "{0} အကြောင်း" }, "account": { - "goToCloudEditor": "Go to Cloud Editor", - "goToIoTCloud": "Go to IoT Cloud", - "goToProfile": "Go to Profile", + "goToCloudEditor": "Cloudအယ်ဒီတာသို့သွားမည်", + "goToIoTCloud": "IoT Cloudသို့သွားမည်", + "goToProfile": "ပရိုဖိုင်သို့သွားမည်", "menuTitle": "Arduino Cloud" }, "board": { @@ -18,7 +18,7 @@ "configDialog1": "ကုတ်ဖိုင်တစ်ခုကို upload တင်လိုပါက ဘုတ်နှင့်အပေါက် နှစ်ခုလုံးကို ရွေးပေးပါ။", "configDialog2": "သင် ဘုတ်တစ်ခုထဲကိုသာ ရွေးချယ်ထားပါက compile ပြုလုပ်နိုင်သော်လည်း ကုဒ်ဖိုင်ကိုတော့ upload မတင်နိုင်ပါ။", "couldNotFindPreviouslySelected": "တပ်ဆင်ထားသည့် ပလက်ဖောင်း '{1}' ထဲမှာ ယခင်ရွေးချယ်ထားသည့်ဘုတ် '{0}' ကို ရှာမတွေ့ပါ။ ကျေးဇူးပြု၍ မိမိအသုံးပြုလိုသည့် ဘုတ်ကို မိမိကိုယ်တိုင် ပြန်လည်ရွေးချယ်ပေးပါ။ သင်အခု ပြန်လည်ရွေးချယ် လိုပါသလား?", - "editBoardsConfig": "Edit Board and Port...", + "editBoardsConfig": "ဘုတ်နှင့်ကွန်ရက်ဆိပ်ကမ်းများတည်းဖြတ်မည်...", "getBoardInfo": "ဘုတ်ဆိုင်ရာအချက်အလက်ရယူမည်", "inSketchbook": " (Sketchbook ဖိုင်တွဲထဲ)", "installNow": "လက်ရှိရွေးချယ်ထားသည့် \"{2}\" ဘုတ်အတွက် \"{0} {1}\" core အား တပ်ဆင်ဖို့လိုပါသည်။ သင်ယခု တပ်ဆင်လိုပါသလား?", @@ -41,8 +41,8 @@ "succesfullyInstalledPlatform": "{0} ပလက်ဖောင်းကို အောင်မြင်စွာ တပ်ဆင်ပြီးသည် :{1}", "succesfullyUninstalledPlatform": "{0} ပလက်ဖောင်းကို အောင်မြင်စွာ ဖြုတ်ချပြီးသည် :{1}", "typeOfPorts": "{0} အပေါက်များ", - "unconfirmedBoard": "Unconfirmed board", - "unknownBoard": "Unknown board" + "unconfirmedBoard": "အတည်မပြုရသေးသောဘုတ်ပြား", + "unknownBoard": "အမျိုးအမည်မသိဘုတ်ပြား" }, "boardsManager": "ဘုတ်မန်နေဂျာ", "boardsType": { @@ -147,7 +147,7 @@ "processing": "အဆင့်ဆင့်ဆောင်ရွက်နေသည်", "recommended": "အသုံးပြုရန်အကြုံပြုထားသည်များ", "retired": "အငြိမ်းစား", - "selectManually": "Select Manually", + "selectManually": "ကိုယ်တိုင်ရွေးချယ်", "selectedOn": "{0}တွင်", "serialMonitor": "အတန်းလိုက်ဆက်သွယ်မှုမော်နီတာ", "type": "အမျိုးအစား", @@ -163,7 +163,7 @@ "clickToOpen": "Click to open in browser: {0}", "filterSearch": "သင်၏ရှာဖွေမှုရလဒ်ကိုစစ်ထုတ်မည်…", "install": "တပ်ဆင်မည်", - "installLatest": "Install Latest", + "installLatest": "နောက်ဆုံးပေါ်များတပ်ဆင်မည်", "installVersion": "Install {0}", "installed": "{0} installed", "moreInfo": "နောက်ထပ်အချက်အလက်များ", @@ -493,7 +493,7 @@ "hc": "Dark High Contrast", "hcLight": "Light High Contrast", "light": "Light", - "user": "{0} (user)" + "user": "{0} (သုံးစွဲသူ)" }, "title": { "cloud": "Cloud" diff --git a/package.json b/package.json index 9a349775d..4519ed5f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "arduino-ide", - "version": "2.3.1", + "version": "2.3.2", "description": "Arduino IDE", "repository": "https://github.com/arduino/arduino-ide.git", "author": "Arduino SA", @@ -13,7 +13,8 @@ "@theia/cli/@babel/traverse": "^7.23.2", "@theia/cli/@theia/application-package/nano": "^10.1.3", "**/@theia/core/msgpackr": "^1.10.1", - "nx/axios": "^1.6.7" + "nx/axios": "^1.6.7", + "**/ip": "^2.0.1" }, "devDependencies": { "@theia/cli": "1.41.0", diff --git a/yarn.lock b/yarn.lock index 583a24e6d..fe12ae342 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7838,10 +7838,10 @@ ip-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== +ip@^2.0.0, ip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" + integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== ipaddr.js@1.9.1: version "1.9.1"