From 79a5d2272fffaac26abf3378acf47e1774163d33 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Mon, 20 Jul 2020 15:38:49 +0200 Subject: [PATCH] fixed grpc client issue with the CLI config. Signed-off-by: Akos Kitta --- arduino-ide-extension/src/node/config-service-impl.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arduino-ide-extension/src/node/config-service-impl.ts b/arduino-ide-extension/src/node/config-service-impl.ts index a09b350e..81d83409 100644 --- a/arduino-ide-extension/src/node/config-service-impl.ts +++ b/arduino-ide-extension/src/node/config-service-impl.ts @@ -13,6 +13,7 @@ import * as fs from './fs-extra'; import { spawnCommand } from './exec-util'; import { RawData } from './cli-protocol/settings/settings_pb'; import { SettingsClient } from './cli-protocol/settings/settings_grpc_pb'; +import * as serviceGrpcPb from './cli-protocol/settings/settings_grpc_pb'; import { ConfigFileValidator } from './config-file-validator'; import { ArduinoDaemonImpl } from './arduino-daemon-impl'; import { DefaultCliConfig, CLI_CONFIG_SCHEMA_PATH, CLI_CONFIG } from './cli-config'; @@ -245,7 +246,10 @@ export class ConfigServiceImpl implements BackendApplicationContribution, Config } protected async updateDaemon(port: string | number, config: DefaultCliConfig): Promise { - const client = new SettingsClient(`localhost:${port}`, grpc.credentials.createInsecure()); + // https://github.com/agreatfool/grpc_tools_node_protoc_ts/blob/master/doc/grpcjs_support.md#usage + // @ts-ignore + const SettingsClient = grpc.makeClientConstructor(serviceGrpcPb['cc.arduino.cli.settings.Settings'], 'SettingsService') as any; + const client = new SettingsClient(`localhost:${port}`, grpc.credentials.createInsecure()) as SettingsClient; const data = new RawData(); data.setJsondata(JSON.stringify(config, null, 2)); return new Promise((resolve, reject) => {