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

Sign up
Appearance settings

Commit ab9490d

Browse files
author
Akos Kitta
committed
fix: incorrect certificate flashing command string
Use a `string` array of command flags instead of the concatenated final `string` command. Ref: #2067 Closes #2179 Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
1 parent b256655 commit ab9490d

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

‎arduino-ide-extension/src/browser/contributions/upload-certificate.ts‎

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ import {
1919
import { ArduinoFirmwareUploader } from '../../common/protocol/arduino-firmware-uploader';
2020
import { nls } from '@theia/core/lib/common';
2121

22+
interface UploadCertificateParams {
23+
readonly fqbn: string;
24+
readonly address: string;
25+
readonly urls: readonly string[];
26+
}
27+
2228
@injectable()
2329
export class UploadCertificate extends Contribution {
2430
@inject(UploadCertificateDialog)
@@ -74,12 +80,17 @@ export class UploadCertificate extends Contribution {
7480
});
7581

7682
registry.registerCommand(UploadCertificate.Commands.UPLOAD_CERT, {
77-
execute: async ({ fqbn, address, urls }) => {
78-
return this.arduinoFirmwareUploader.uploadCertificates(
79-
`-b ${fqbn} -a ${address} ${urls
80-
.map((url: string) => `-u ${url}`)
81-
.join(' ')}`
82-
);
83+
execute: async (params: UploadCertificateParams) => {
84+
const { fqbn, address, urls } = params;
85+
return this.arduinoFirmwareUploader.uploadCertificates({
86+
flags: [
87+
'-b',
88+
fqbn,
89+
'-a',
90+
address,
91+
...urls.flatMap((url) => ['-u', url]),
92+
],
93+
});
8394
},
8495
});
8596

‎arduino-ide-extension/src/common/protocol/arduino-firmware-uploader.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Port } from "./boards-service";
1+
import type{ Port } from './boards-service';
22

33
export const ArduinoFirmwareUploaderPath =
44
'/services/arduino-firmware-uploader';
@@ -13,7 +13,7 @@ export type FirmwareInfo = {
1313
export interface ArduinoFirmwareUploader {
1414
list(fqbn?: string): Promise<FirmwareInfo[]>;
1515
flash(firmware: FirmwareInfo, port: Port): Promise<string>;
16-
uploadCertificates(command: string): Promise<any>;
16+
uploadCertificates(params: {flags: string[]}): Promise<any>;
1717
updatableBoards(): Promise<string[]>;
1818
availableFirmwares(fqbn: string): Promise<FirmwareInfo[]>;
1919
}

‎arduino-ide-extension/src/node/arduino-firmware-uploader-impl.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ export class ArduinoFirmwareUploaderImpl implements ArduinoFirmwareUploader {
1717
@inject(MonitorManager)
1818
private readonly monitorManager: MonitorManager;
1919

20-
async uploadCertificates(command: string): Promise<string> {
21-
return await this.runCommand(['certificates', 'flash', command]);
20+
async uploadCertificates(params: {flags: string[]}): Promise<string> {
21+
return await this.runCommand(['certificates', 'flash', ...params.flags]);
2222
}
2323

2424
async list(fqbn?: string): Promise<FirmwareInfo[]> {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /