usb 2.8.2 → 2.8.3

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.8.3] - 2023-03-09
4
+
5
+ ### Fixed
6
+ - Fixed Windows X86 crash with USB detection - [`578`](https://github.com/node-usb/node-usb/pull/578) ([Julian Waller](https://github.com/Julusian))
7
+ - Fixed Windows USB detection race condition with delay - [`577`](https://github.com/node-usb/node-usb/pull/577) ([Rob Moran](https://github.com/thegecko))
8
+
3
9
  ## [2.8.2] - 2023-03-06
4
10
 
5
11
  ### Added
@@ -8,6 +8,10 @@ export declare function getDeviceList(): Device[];
8
8
  * Force polling loop for hotplug events
9
9
  */
10
10
  export declare let pollHotplug: boolean;
11
+ /**
12
+ * Hotplug polling loop delay (ms)
13
+ */
14
+ export declare let pollHotplugDelay: number;
11
15
  export declare const INIT_ERROR: number;
12
16
  export declare class LibUSBException extends Error {
13
17
  errno: number;
package/dist/usb/index.js CHANGED
@@ -22,6 +22,10 @@ Object.defineProperty(usb, 'pollHotplug', {
22
22
  value: false,
23
23
  writable: true
24
24
  });
25
+ Object.defineProperty(usb, 'pollHotplugDelay', {
26
+ value: 500,
27
+ writable: true
28
+ });
25
29
  Object.getOwnPropertyNames(device_1.ExtendedDevice.prototype).forEach(function (name) {
26
30
  Object.defineProperty(usb.Device.prototype, name, Object.getOwnPropertyDescriptor(device_1.ExtendedDevice.prototype, name) || Object.create(null));
27
31
  });
@@ -79,8 +83,10 @@ var pollHotplug = function (start) {
79
83
  else {
80
84
  emitHotplugEvents();
81
85
  }
82
- setTimeout(function () { return pollHotplug(); }, 500);
86
+ setTimeout(function () { return pollHotplug(); }, usb.pollHotplugDelay);
83
87
  };
88
+ // Devices changed event handler
89
+ var devicesChanged = function () { return setTimeout(function () { return emitHotplugEvents(); }, usb.pollHotplugDelay); };
84
90
  // Hotplug control
85
91
  var hotplugSupported = 0;
86
92
  var startHotplug = function () {
@@ -94,8 +100,8 @@ var startHotplug = function () {
94
100
  usb._enableHotplugEvents();
95
101
  if (hotplugSupported === 2) {
96
102
  // Use hotplug ID events to trigger a change check
97
- usb.on('attachIds', emitHotplugEvents);
98
- usb.on('detachIds', emitHotplugEvents);
103
+ usb.on('attachIds', devicesChanged);
104
+ usb.on('detachIds', devicesChanged);
99
105
  }
100
106
  }
101
107
  else {
@@ -109,8 +115,8 @@ var stopHotplug = function () {
109
115
  usb._disableHotplugEvents();
110
116
  if (hotplugSupported === 2) {
111
117
  // Remove hotplug ID event listeners
112
- usb.off('attachIds', emitHotplugEvents);
113
- usb.off('detachIds', emitHotplugEvents);
118
+ usb.off('attachIds', devicesChanged);
119
+ usb.off('detachIds', devicesChanged);
114
120
  }
115
121
  }
116
122
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/usb/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAsC;AACtC,mCAA0C;AAC1C,gCAAkC;AAElC,IAAI,GAAG,CAAC,UAAU,EAAE;IAChB,+BAA+B;IAC/B,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;CAChD;AAED,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,qBAAY,CAAC,SAAS,CAAC,CAAC;AACnD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE;IACtC,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,mBAAmB,CAAC,uBAAc,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;IAC7D,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,wBAAwB,CAAC,uBAAc,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9I,CAAC,CAAC,CAAC;AAoCH,sDAAsD;AACtD,IAAI,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;AAE3C,oIAAoI;AACpI,IAAM,iBAAiB,GAAG;;IACtB,0BAA0B;IAC1B,IAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;;QAE7C,wBAAwB;QACxB,KAAqB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE;YAAzB,IAAM,MAAM,oBAAA;YACb,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC7B,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aAC9B;SACJ;;;;;;;;;;QAED,wBAAwB;QACxB,KAAqB,IAAA,mBAAA,SAAA,cAAc,CAAA,8CAAA,0EAAE;YAAhC,IAAM,MAAM,2BAAA;YACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aAC9B;SACJ;;;;;;;;;IAED,cAAc,GAAG,OAAO,CAAC;AAC7B,CAAC,CAAC;AAEF,yFAAyF;AACzF,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAM,WAAW,GAAG,UAAC,KAAa;IAAb,sBAAA,EAAA,aAAa;IAC9B,IAAI,KAAK,EAAE;QACP,cAAc,GAAG,IAAI,CAAC;KACzB;SAAM,IAAI,CAAC,cAAc,EAAE;QACxB,OAAO;KACV;SAAM;QACH,iBAAiB,EAAE,CAAC;KACvB;IAED,UAAU,CAAC,cAAM,OAAA,WAAW,EAAE,EAAb,CAAa,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,kBAAkB;AAClB,IAAI,gBAAgB,GAAG,CAAC,CAAC;AACzB,IAAM,YAAY,GAAG;IACjB,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;IAEvE,IAAI,gBAAgB,KAAK,CAAC,EAAE;QACxB,gDAAgD;QAChD,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;KACjD;IAED,IAAI,gBAAgB,EAAE;QAClB,6BAA6B;QAC7B,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAE3B,IAAI,gBAAgB,KAAK,CAAC,EAAE;YACxB,kDAAkD;YAClD,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACvC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC1C;KACJ;SAAM;QACH,iDAAiD;QACjD,WAAW,CAAC,IAAI,CAAC,CAAC;KACrB;AACL,CAAC,CAAC;AAEF,IAAM,WAAW,GAAG;IAChB,IAAI,gBAAgB,EAAE;QAClB,yBAAyB;QACzB,GAAG,CAAC,qBAAqB,EAAE,CAAC;QAE5B,IAAI,gBAAgB,KAAK,CAAC,EAAE;YACxB,oCAAoC;YACpC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC3C;KACJ;SAAM;QACH,eAAe;QACf,cAAc,GAAG,KAAK,CAAC;KAC1B;AACL,CAAC,CAAC;AAEF,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,UAAA,KAAK;IACvB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC1C,OAAO;KACV;IACD,IAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChF,IAAI,aAAa,KAAK,CAAC,EAAE;QACrB,YAAY,EAAE,CAAC;KAClB;AACL,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAA,KAAK;IAC1B,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC1C,OAAO;KACV;IACD,IAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChF,IAAI,aAAa,KAAK,CAAC,EAAE;QACrB,WAAW,EAAE,CAAC;KACjB;AACL,CAAC,CAAC,CAAC;AAEH,iBAAS,GAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/usb/index.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ export declare class WebUSB implements USB {
32
32
  private options;
33
33
  protected emitter: EventEmitter;
34
34
  protected knownDevices: Map<usb.Device, WebUSBDevice>;
35
- protected authorisedDevices: Set<USBDevice>;
35
+ protected authorisedDevices: Set<USBDeviceFilter>;
36
36
  constructor(options?: USBOptions);
37
37
  private _onconnect;
38
38
  set onconnect(fn: (ev: USBConnectionEvent) => void);
@@ -275,7 +275,14 @@ var WebUSB = /** @class */ (function () {
275
275
  if (!device) {
276
276
  throw new NamedError('Failed to execute \'requestDevice\' on \'USB\': No device selected.', 'NotFoundError');
277
277
  }
278
- this.authorisedDevices.add(device);
278
+ this.authorisedDevices.add({
279
+ vendorId: device.vendorId,
280
+ productId: device.productId,
281
+ classCode: device.deviceClass,
282
+ subclassCode: device.deviceSubclass,
283
+ protocolCode: device.deviceProtocol,
284
+ serialNumber: device.serialNumber
285
+ });
279
286
  return [2 /*return*/, device];
280
287
  case 6:
281
288
  error_1 = _b.sent();
@@ -458,7 +465,15 @@ var WebUSB = /** @class */ (function () {
458
465
  if (this.options.allowedDevices && this.filterDevice(device, this.options.allowedDevices)) {
459
466
  return true;
460
467
  }
461
- return this.authorisedDevices.has(device);
468
+ // Check authorised devices
469
+ return __spreadArray([], __read(this.authorisedDevices.values())).some(function (authorised) {
470
+ return authorised.vendorId === device.vendorId
471
+ && authorised.productId === device.productId
472
+ && authorised.classCode === device.deviceClass
473
+ && authorised.subclassCode === device.deviceSubclass
474
+ && authorised.protocolCode === device.deviceProtocol
475
+ && authorised.serialNumber === device.serialNumber;
476
+ });
462
477
  };
463
478
  return WebUSB;
464
479
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/webusb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tsc/webusb/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "usb",
3
3
  "description": "Library to access USB devices",
4
4
  "license": "MIT",
5
- "version": "2.8.2",
5
+ "version": "2.8.3",
6
6
  "main": "dist/index.js",
7
7
  "engines": {
8
8
  "node": ">=10.20.0 <11.x || >=12.17.0 <13.0 || >=14.0.0"
@@ -43,7 +43,7 @@
43
43
  "postcompile": "eslint . --ext .ts",
44
44
  "watch": "tsc -w --preserveWatchOutput",
45
45
  "test": "mocha --require coffeescript/register --grep Module test/*",
46
- "full-test": "mocha --require coffeescript/register test/*.coffee",
46
+ "full-test": "mocha --timeout 10000 --require coffeescript/register test/*.coffee",
47
47
  "valgrind": "coffee -c test/*.coffee; valgrind --leak-check=full --show-possibly-lost=no node --expose-gc --trace-gc node_modules/mocha/bin/_mocha -R spec",
48
48
  "docs": "typedoc",
49
49
  "prebuild": "prebuildify --napi --strip",
Binary file
Binary file
@@ -54,7 +54,7 @@ void extractVidPid(wchar_t *buf, int *vid, int *pid)
54
54
  }
55
55
  }
56
56
 
57
- DWORD MyCMInterfaceNotification(HCMNOTIFICATION hNotify, PVOID Context, CM_NOTIFY_ACTION Action, PCM_NOTIFY_EVENT_DATA EventData, DWORD EventDataSize)
57
+ DWORD WINAPI MyCMInterfaceNotification(HCMNOTIFICATION hNotify, PVOID Context, CM_NOTIFY_ACTION Action, PCM_NOTIFY_EVENT_DATA EventData, DWORD EventDataSize)
58
58
  {
59
59
  switch (Action)
60
60
  {
@@ -73,7 +73,7 @@ DWORD MyCMInterfaceNotification(HCMNOTIFICATION hNotify, PVOID Context, CM_NOTIF
73
73
  default:
74
74
  break;
75
75
  }
76
- return 0;
76
+ return ERROR_SUCCESS;
77
77
  }
78
78
 
79
79
  class HotPlugManagerWindows : public HotPlugManager
package/test/usb.coffee CHANGED
@@ -41,10 +41,25 @@ describe 'findByIds', ->
41
41
  assert.ok(dev, "Demo device is not attached")
42
42
 
43
43
  describe 'findBySerialNumber', ->
44
- it 'should return a single device ', ->
44
+ it 'should return a single device', ->
45
45
  dev = findBySerialNumber('TEST_DEVICE')
46
46
  assert.ok(dev, "Demo device is not attached")
47
47
 
48
+ describe 'Hotplug', ->
49
+ it 'should detect detach', (done) ->
50
+ usb.once 'detach', (d) ->
51
+ assert.equal(d.deviceDescriptor.idVendor, 0x59e3)
52
+ assert.equal(d.deviceDescriptor.idProduct, 0x0a23)
53
+ done()
54
+ console.log('\n--- DISCONNECT DEVICE ---\n')
55
+
56
+ it 'should detect attach', (done) ->
57
+ usb.once 'attach', (d) ->
58
+ assert.equal(d.deviceDescriptor.idVendor, 0x59e3)
59
+ assert.equal(d.deviceDescriptor.idProduct, 0x0a23)
60
+ done()
61
+ console.log('\n--- CONNECT DEVICE ---\n')
62
+
48
63
  describe 'Device', ->
49
64
  device = null
50
65
  before ->
@@ -35,6 +35,23 @@ describe 'getDevices', ->
35
35
  assert.notEqual(l[0], undefined)
36
36
  assert.deepEqual(l[0], device)
37
37
 
38
+ describe 'WebUSB Hotplug', ->
39
+ it 'should detect disconnect', (done) ->
40
+ fn = (e) ->
41
+ assert.equal(e.device.serialNumber, "TEST_DEVICE")
42
+ webusb.removeEventListener 'disconnect', fn
43
+ done()
44
+ webusb.addEventListener 'disconnect', fn
45
+ console.log('\n--- DISCONNECT DEVICE ---\n')
46
+
47
+ it 'should detect connect', (done) ->
48
+ fn = (e) ->
49
+ assert.equal(e.device.serialNumber, "TEST_DEVICE")
50
+ webusb.removeEventListener 'connect', fn
51
+ done()
52
+ webusb.addEventListener 'connect', fn
53
+ console.log('\n--- CONNECT DEVICE ---\n')
54
+
38
55
  describe 'Device properties', ->
39
56
  device = null
40
57
  before ->