Skip to content

Commit f4a68e7

Browse files
Akos Kittakittaakos
Akos Kitta
authored andcommitted
Fixed missing core client in the monitor service.
Restored monitor service creation state before a36524e: Pass core client provider into new instances as a field. Closes #1161 Signed-off-by: Akos Kitta <[email protected]>
1 parent 7d96153 commit f4a68e7

File tree

5 files changed

+15
-5
lines changed

5 files changed

+15
-5
lines changed

Diff for: arduino-ide-extension/src/node/arduino-ide-backend-module.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -245,14 +245,15 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
245245
const webSocketProvider =
246246
container.get<WebSocketProvider>(WebSocketProvider);
247247

248-
const { board, port, monitorID } = options;
248+
const { board, port, coreClientProvider, monitorID } = options;
249249

250250
return new MonitorService(
251251
logger,
252252
monitorSettingsProvider,
253253
webSocketProvider,
254254
board,
255255
port,
256+
coreClientProvider,
256257
monitorID
257258
);
258259
}

Diff for: arduino-ide-extension/src/node/core-client-provider.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ export namespace CoreClientProvider {
397397
@injectable()
398398
export abstract class CoreClientAware {
399399
@inject(CoreClientProvider)
400-
private readonly coreClientProvider: CoreClientProvider;
400+
protected readonly coreClientProvider: CoreClientProvider; // TODO: should be `private`, fix injection in subclasses. (https://github.com/arduino/arduino-ide/issues/1161)
401401
/**
402402
* Returns with a promise that resolves when the core client is initialized and ready.
403403
*/

Diff for: arduino-ide-extension/src/node/monitor-manager.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export class MonitorManager extends CoreClientAware {
5555
* @param board board connected to port
5656
* @param port port to monitor
5757
* @returns true if the monitor is currently monitoring the board/port
58-
* combination specifed, false in all other cases.
58+
* combination specified, false in all other cases.
5959
*/
6060
isStarted(board: Board, port: Port): boolean {
6161
const monitorID = this.monitorID(board, port);
@@ -317,6 +317,7 @@ export class MonitorManager extends CoreClientAware {
317317
board,
318318
port,
319319
monitorID,
320+
coreClientProvider: this.coreClientProvider,
320321
});
321322
this.monitorServices.set(monitorID, monitor);
322323
monitor.onDispose(
+8-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
import { Board, Port } from '../common/protocol';
2+
import { CoreClientProvider } from './core-client-provider';
23
import { MonitorService } from './monitor-service';
34

45
export const MonitorServiceFactory = Symbol('MonitorServiceFactory');
56
export interface MonitorServiceFactory {
6-
(options: { board: Board; port: Port; monitorID: string }): MonitorService;
7+
(options: {
8+
board: Board;
9+
port: Port;
10+
monitorID: string;
11+
coreClientProvider: CoreClientProvider;
12+
}): MonitorService;
713
}
814

915
export interface MonitorServiceFactoryOptions {
1016
board: Board;
1117
port: Port;
1218
monitorID: string;
19+
coreClientProvider: CoreClientProvider;
1320
}

Diff for: arduino-ide-extension/src/node/monitor-service.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
MonitorRequest,
1111
MonitorResponse,
1212
} from './cli-protocol/cc/arduino/cli/commands/v1/monitor_pb';
13-
import { CoreClientAware } from './core-client-provider';
13+
import { CoreClientAware, CoreClientProvider } from './core-client-provider';
1414
import { WebSocketProvider } from './web-socket/web-socket-provider';
1515
import { Port as gRPCPort } from 'arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/port_pb';
1616
import {
@@ -77,6 +77,7 @@ export class MonitorService extends CoreClientAware implements Disposable {
7777

7878
private readonly board: Board,
7979
private readonly port: Port,
80+
protected override readonly coreClientProvider: CoreClientProvider,
8081
private readonly monitorID: string
8182
) {
8283
super();

0 commit comments

Comments
 (0)