@matter-server/ble-proxy 1.4.0 → 1.4.1-alpha.0-20261008-d619c2e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/example/NobleBleProxyClient.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["error"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter-server/ble-proxy",
3
- "version": "1.4.0",
3
+ "version": "1.4.1-alpha.0-20261008-d619c2e",
4
4
  "description": "BLE proxy implementation for matter.js - proxies BLE operations over WebSocket",
5
5
  "homepage": "https://github.com/matter-js/matterjs-server",
6
6
  "bugs": {
@@ -29,16 +29,16 @@
29
29
  "noble-ble-proxy": "nacho-run src/example/noble-ble-proxy.ts"
30
30
  },
31
31
  "dependencies": {
32
- "@matter-server/ws-controller": "1.4.0",
33
- "@matter/main": "0.17.9",
34
- "ws": "^8.21.2"
32
+ "@matter-server/ws-controller": "1.4.1-alpha.0-20261008-d619c2e",
33
+ "@matter/main": "0.18.0-alpha.0-20261007-d55555085",
34
+ "ws": "^8.22.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@types/node": "^26.1.2",
38
- "@types/ws": "^8.18.1"
37
+ "@types/node": "^26.6.4",
38
+ "@types/ws": "^8.18.2"
39
39
  },
40
40
  "optionalDependencies": {
41
- "@matter/nodejs-ble": "0.17.9",
41
+ "@matter/nodejs-ble": "0.18.0-alpha.0-20261007-d55555085",
42
42
  "dbus-next": "npm:@jellybrick/dbus-next@^0.10.3"
43
43
  },
44
44
  "engines": {
@@ -4,11 +4,22 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { createPromise, Logger, Observable, Seconds, Time, withTimeout } from "@matter/main";
7
+ import {
8
+ createPromise,
9
+ Duration,
10
+ Logger,
11
+ Millis,
12
+ Observable,
13
+ Seconds,
14
+ Time,
15
+ type Timer,
16
+ withTimeout,
17
+ } from "@matter/main";
8
18
  import { Mark } from "@matter/main/protocol";
9
19
  import { WebSocket } from "ws";
10
20
  import {
11
21
  BLE_PROXY_PROTOCOL_VERSION,
22
+ BleProxyCommandError,
12
23
  decodeBinaryFrame,
13
24
  encodeBinaryFrame,
14
25
  type BinaryFrame,
@@ -52,6 +63,10 @@ const HANDSHAKE_TIMEOUT = Seconds(10);
52
63
  */
53
64
  const COMMAND_TIMEOUT = Seconds(60);
54
65
 
66
+ const PING_INTERVAL = Seconds(15);
67
+ /** Evaluated on the ping schedule, so a dead client is detected between this and one extra {@link PING_INTERVAL}. */
68
+ const LIVENESS_TIMEOUT = Seconds(45);
69
+
55
70
  /**
56
71
  * One BLE proxy client socket. Owns that client's handshake state, pending
57
72
  * command map, and command/event/binary-frame plumbing. The hub
@@ -62,12 +77,16 @@ export class BleProxyConnection {
62
77
  readonly #id = generateConnectionId();
63
78
  #handshakeComplete = false;
64
79
  #closedEmitted = false;
80
+ /** Cleanup is terminal: a torn-down connection must never handshake again on a late `hello`. */
81
+ #destroyed = false;
65
82
  #pendingCommands = new Map<
66
83
  number,
67
84
  { resolver: (result: Record<string, unknown> | undefined) => void; rejecter: (reason?: unknown) => void }
68
85
  >();
69
86
  /** Command ID counter. Rolls over at 0xFFFF to stay in safe integer range. */
70
87
  #nextCommandId = 0;
88
+ #lastSeen = Time.nowUs;
89
+ #livenessTimer?: Timer;
71
90
 
72
91
  readonly binaryFrameReceived = new Observable<[frame: BinaryFrame]>();
73
92
  readonly eventReceived = new Observable<[event: BleProxyEventName, data: Record<string, unknown>]>();
@@ -88,7 +107,12 @@ export class BleProxyConnection {
88
107
  }
89
108
  }).start();
90
109
 
110
+ ws.on("pong", () => {
111
+ this.#lastSeen = Time.nowUs;
112
+ });
113
+
91
114
  ws.on("message", (data, isBinary) => {
115
+ this.#lastSeen = Time.nowUs;
92
116
  if (isBinary) {
93
117
  this.#handleBinaryMessage(data as Buffer);
94
118
  } else {
@@ -163,6 +187,10 @@ export class BleProxyConnection {
163
187
  }
164
188
 
165
189
  #handleTextMessage(raw: string, handshakeTimer: { stop: () => void }): void {
190
+ if (this.#destroyed) {
191
+ return;
192
+ }
193
+
166
194
  let parsed: unknown;
167
195
  try {
168
196
  parsed = JSON.parse(raw);
@@ -221,6 +249,7 @@ export class BleProxyConnection {
221
249
  }
222
250
 
223
251
  this.#handshakeComplete = true;
252
+ this.#startLivenessCheck();
224
253
  this.#ws.send(JSON.stringify({ type: "hello_response", version: BLE_PROXY_PROTOCOL_VERSION }));
225
254
  logger.info(`[${this.#id}] BLE proxy handshake complete (version ${BLE_PROXY_PROTOCOL_VERSION})`);
226
255
  this.handshakeCompleted.emit();
@@ -237,11 +266,16 @@ export class BleProxyConnection {
237
266
  if (msg.success) {
238
267
  pending.resolver(msg.result);
239
268
  } else {
240
- pending.rejecter(new Error(`${msg.error}: ${msg.message}`));
269
+ // `error`/`message` are client-supplied: normalize so the code stays a comparable string.
270
+ pending.rejecter(new BleProxyCommandError(String(msg.error), String(msg.message)));
241
271
  }
242
272
  }
243
273
 
244
274
  #handleBinaryMessage(data: Buffer): void {
275
+ if (this.#destroyed) {
276
+ return;
277
+ }
278
+
245
279
  if (!this.#handshakeComplete) {
246
280
  logger.warn(`[${this.#id}] Received binary frame before handshake`);
247
281
  return;
@@ -266,8 +300,27 @@ export class BleProxyConnection {
266
300
  this.#cleanup();
267
301
  }
268
302
 
303
+ #startLivenessCheck(): void {
304
+ this.#lastSeen = Time.nowUs;
305
+ this.#livenessTimer = Time.getPeriodicTimer("BLE proxy liveness check", PING_INTERVAL, () => {
306
+ const silence = Millis(Time.nowUs - this.#lastSeen);
307
+ if (silence > LIVENESS_TIMEOUT) {
308
+ logger.warn(
309
+ `[${this.#id}] No response for ${Duration.format(silence)} - terminating dead BLE proxy connection`,
310
+ );
311
+ this.#ws.terminate();
312
+ this.#cleanup();
313
+ return;
314
+ }
315
+ this.#ws.ping();
316
+ }).start();
317
+ }
318
+
269
319
  #cleanup(): void {
320
+ this.#destroyed = true;
270
321
  this.#handshakeComplete = false;
322
+ this.#livenessTimer?.stop();
323
+ this.#livenessTimer = undefined;
271
324
 
272
325
  for (const [id, pending] of this.#pendingCommands) {
273
326
  pending.rejecter(new Error("BLE proxy client disconnected"));
@@ -9,12 +9,24 @@ import { Logger, Observable } from "@matter/main";
9
9
  import type { createServer } from "node:http";
10
10
  import { WebSocket, WebSocketServer } from "ws";
11
11
  import { BleProxyConnection } from "./BleProxyConnection.js";
12
- import { BleProxyCommand, BleProxyEvent, type DeviceDiscoveredData, type StartScanArgs } from "./BleProxyProtocol.js";
12
+ import {
13
+ BleProxyCommand,
14
+ BleProxyCommandError,
15
+ BleProxyErrorCode,
16
+ type BleProxyErrorCodeValue,
17
+ BleProxyEvent,
18
+ type DeviceDiscoveredData,
19
+ type StartScanArgs,
20
+ } from "./BleProxyProtocol.js";
13
21
 
14
22
  type HttpServer = ReturnType<typeof createServer>;
15
23
 
16
24
  const logger = Logger.get("BleProxyHandler");
17
25
 
26
+ function isErrorCode(err: unknown, code: BleProxyErrorCodeValue): boolean {
27
+ return err instanceof BleProxyCommandError && err.code === code;
28
+ }
29
+
18
30
  /**
19
31
  * WebSocket server handler (hub) for the `/ble` BLE proxy endpoint.
20
32
  *
@@ -141,8 +153,7 @@ export class BleProxyHandler implements WebServerHandler {
141
153
  this.#scanning.add(connection);
142
154
  sends.push(
143
155
  connection.sendCommand(BleProxyCommand.StartScan, args).catch(err => {
144
- logger.warn(`[${connection.id}] Failed to start scan:`, err);
145
- this.#markNotScanning(connection, "start scan failed");
156
+ this.#onStartScanRejected(connection, err);
146
157
  }),
147
158
  );
148
159
  }
@@ -156,9 +167,13 @@ export class BleProxyHandler implements WebServerHandler {
156
167
  for (const connection of this.#connections) {
157
168
  if (connection.connected) {
158
169
  sends.push(
159
- connection
160
- .sendCommand(BleProxyCommand.StopScan)
161
- .catch(err => logger.warn(`[${connection.id}] Failed to stop scan:`, err)),
170
+ connection.sendCommand(BleProxyCommand.StopScan).catch(err => {
171
+ if (isErrorCode(err, BleProxyErrorCode.NotScanning)) {
172
+ logger.debug(`[${connection.id}] was not scanning`);
173
+ return;
174
+ }
175
+ logger.warn(`[${connection.id}] Failed to stop scan:`, err);
176
+ }),
162
177
  );
163
178
  }
164
179
  }
@@ -171,8 +186,7 @@ export class BleProxyHandler implements WebServerHandler {
171
186
  if (this.#scanActive && this.#scanArgs) {
172
187
  this.#scanning.add(connection);
173
188
  connection.sendCommand(BleProxyCommand.StartScan, this.#scanArgs).catch(err => {
174
- logger.warn(`[${connection.id}] Failed to sync scan to joining client:`, err);
175
- this.#markNotScanning(connection, "start scan failed");
189
+ this.#onStartScanRejected(connection, err);
176
190
  });
177
191
  }
178
192
  }
@@ -185,6 +199,17 @@ export class BleProxyHandler implements WebServerHandler {
185
199
  }
186
200
  }
187
201
 
202
+ #onStartScanRejected(connection: BleProxyConnection, err: unknown): void {
203
+ // `already_scanning` means the client is scanning. A client that cannot re-arm keeps the
204
+ // parameters of its running scan, so this is only equivalent while the args do not change.
205
+ if (isErrorCode(err, BleProxyErrorCode.AlreadyScanning)) {
206
+ logger.debug(`[${connection.id}] was already scanning`);
207
+ return;
208
+ }
209
+ logger.warn(`[${connection.id}] Failed to start scan:`, err);
210
+ this.#markNotScanning(connection, "start scan failed");
211
+ }
212
+
188
213
  /** Drop a connection from the scanning set; emit aggregate scanStopped once none remain. */
189
214
  #markNotScanning(connection: BleProxyConnection, reason: string): void {
190
215
  if (!this.#scanning.delete(connection)) {
@@ -253,6 +253,17 @@ export const BleProxyErrorCode = {
253
253
 
254
254
  export type BleProxyErrorCodeValue = (typeof BleProxyErrorCode)[keyof typeof BleProxyErrorCode];
255
255
 
256
+ /** A command the client answered with `success: false`, carrying the protocol error code. */
257
+ export class BleProxyCommandError extends Error {
258
+ constructor(
259
+ readonly code: string,
260
+ readonly detail: string,
261
+ ) {
262
+ super(`${code}: ${detail}`);
263
+ this.name = "BleProxyCommandError";
264
+ }
265
+ }
266
+
256
267
  // ─── Binary Frame Opcodes ────────────────────────────────────────────────────
257
268
 
258
269
  export const BinaryFrameOpcode = {
@@ -264,6 +264,7 @@ export class ProxyBleCentralInterface implements Transport {
264
264
  onMatterMessageListener(channelRef.channel, data);
265
265
  }
266
266
  },
267
+ mtu,
267
268
  );
268
269
  sessionRef.session = btpSession;
269
270