mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-11-20 07:39:28 +00:00
Fix upload and serial (#661)
* get serial connection status from BE * handle serial connect in the BE * allow breakpoints on vscode (windows) * Timeout on config change to prevent serial busy * serial-service tests
This commit is contained in:
@@ -11,6 +11,9 @@ export default class WebSocketServiceImpl implements WebSocketService {
|
||||
protected readonly onMessage = new Emitter<string>();
|
||||
public readonly onMessageReceived = this.onMessage.event;
|
||||
|
||||
protected readonly onConnectedClients = new Emitter<number>();
|
||||
public readonly onClientsNumberChanged = this.onConnectedClients.event;
|
||||
|
||||
constructor() {
|
||||
this.wsClients = [];
|
||||
this.server = new WebSocket.Server({ port: 0 });
|
||||
@@ -21,8 +24,11 @@ export default class WebSocketServiceImpl implements WebSocketService {
|
||||
|
||||
private addClient(ws: WebSocket): void {
|
||||
this.wsClients.push(ws);
|
||||
this.onConnectedClients.fire(this.wsClients.length);
|
||||
|
||||
ws.onclose = () => {
|
||||
this.wsClients.splice(this.wsClients.indexOf(ws), 1);
|
||||
this.onConnectedClients.fire(this.wsClients.length);
|
||||
};
|
||||
|
||||
ws.onmessage = (res) => {
|
||||
@@ -30,6 +36,10 @@ export default class WebSocketServiceImpl implements WebSocketService {
|
||||
};
|
||||
}
|
||||
|
||||
getConnectedClientsNumber(): number {
|
||||
return this.wsClients.length;
|
||||
}
|
||||
|
||||
getAddress(): WebSocket.AddressInfo {
|
||||
return this.server.address() as WebSocket.AddressInfo;
|
||||
}
|
||||
|
||||
@@ -6,4 +6,6 @@ export interface WebSocketService {
|
||||
getAddress(): WebSocket.AddressInfo;
|
||||
sendMessage(message: string): void;
|
||||
onMessageReceived: Event<string>;
|
||||
onClientsNumberChanged: Event<number>;
|
||||
getConnectedClientsNumber(): number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user