@ledgerhq/react-native-hw-transport-ble 6.27.11-nightly.0 → 6.27.11-nightly.2

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,4 +1,4 @@
1
1
 
2
- > @ledgerhq/react-native-hw-transport-ble@6.27.10 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/react-native-hw-transport-ble
2
+ > @ledgerhq/react-native-hw-transport-ble@6.27.11-nightly.1 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/react-native-hw-transport-ble
3
3
  > tsc && tsc -m ES6 --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @ledgerhq/react-native-hw-transport-ble
2
2
 
3
+ ## 6.27.11-nightly.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2048](https://github.com/LedgerHQ/ledger-live/pull/2048) [`101e6851ae`](https://github.com/LedgerHQ/ledger-live/commit/101e6851ae76747431b122076dc1752c94ee40d3) Thanks [@juan-cortes](https://github.com/juan-cortes)! - Undo the auto disconnect mechanism, due to regressions
8
+
9
+ ## 6.27.11-nightly.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#1984](https://github.com/LedgerHQ/ledger-live/pull/1984) [`f1c15446da`](https://github.com/LedgerHQ/ledger-live/commit/f1c15446dabef05bb91dada8d8f53f9bc6474ba5) Thanks [@alexandremgo](https://github.com/alexandremgo)! - New HwTransportError for all the implementations of Transport
14
+
15
+ - Updated dependencies [[`f1c15446da`](https://github.com/LedgerHQ/ledger-live/commit/f1c15446dabef05bb91dada8d8f53f9bc6474ba5)]:
16
+ - @ledgerhq/errors@6.12.2-nightly.0
17
+ - @ledgerhq/hw-transport@6.27.9-nightly.0
18
+ - @ledgerhq/devices@7.0.6-nightly.0
19
+
3
20
  ## 6.27.11-nightly.0
4
21
 
5
22
  ### Patch Changes
@@ -3,12 +3,13 @@ import Transport from "@ledgerhq/hw-transport";
3
3
  import type { Subscription as TransportSubscription, Observer as TransportObserver, DescriptorEvent } from "@ledgerhq/hw-transport";
4
4
  import type { DeviceModel } from "@ledgerhq/devices";
5
5
  import { Observable } from "rxjs";
6
+ import { HwTransportError } from "@ledgerhq/errors";
6
7
  import type { Device, Characteristic } from "./types";
7
8
  declare type ReconnectionConfig = {
8
9
  pairingThreshold: number;
9
10
  delayAfterFirstPairing: number;
10
11
  };
11
- export declare function setReconnectionConfig(config: ReconnectionConfig | null): void;
12
+ export declare function setReconnectionConfig(config: ReconnectionConfig | null | undefined): void;
12
13
  /**
13
14
  * react-native bluetooth BLE implementation
14
15
  * @example
@@ -35,7 +36,7 @@ export default class BluetoothTransport extends Transport {
35
36
  /**
36
37
  * Scan for bluetooth Ledger devices
37
38
  */
38
- static listen(observer: TransportObserver<DescriptorEvent<Device>>): TransportSubscription;
39
+ static listen(observer: TransportObserver<DescriptorEvent<Device>, HwTransportError>): TransportSubscription;
39
40
  /**
40
41
  * Open a BLE transport
41
42
  * @param {*} deviceOrId
@@ -53,7 +54,6 @@ export default class BluetoothTransport extends Transport {
53
54
  notifyObservable: Observable<any>;
54
55
  deviceModel: DeviceModel;
55
56
  notYetDisconnected: boolean;
56
- disconnectTimeout: null | ReturnType<typeof setTimeout>;
57
57
  constructor(device: Device, writeCharacteristic: Characteristic, writeCmdCharacteristic: Characteristic, notifyObservable: Observable<any>, deviceModel: DeviceModel);
58
58
  /**
59
59
  * communicate with a BLE transport
@@ -1 +1 @@
1
- {"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,QAAQ,IAAI,iBAAiB,EAC7B,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAUhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAsC,MAAM,MAAM,CAAC;AAetE,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqBtD,aAAK,kBAAkB,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAKF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAyOD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAS;IACvD;;OAEG;IACH,MAAM,CAAC,WAAW,QAAO,QAAQ,OAAO,CAAC,CACW;IAEpD;;OAEG;IACH,MAAM,CAAC,WAAW,UAAW,GAAG,UAE9B;IAEF;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;;;IAcjC,MAAM,CAAC,IAAI,QAAO,GAAG,CAEnB;IAEF;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GACnD,qBAAqB;IAsDxB;;;OAGG;WACU,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,UAAU,OAAc,GAAG,mBAIhC;IACF,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,SAAM;IACb,mBAAmB,EAAE,cAAc,CAAC;IACpC,sBAAsB,EAAE,cAAc,CAAC;IACvC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,UAAQ;IAC1B,iBAAiB,EAAE,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAQ;gBAG7D,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,cAAc,EACnC,sBAAsB,EAAE,cAAc,EACtC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,EACjC,WAAW,EAAE,WAAW;IAY1B;;OAEG;IACH,QAAQ,SAAU,MAAM,KAAG,QAAQ,GAAG,CAAC,CAuBlC;IAGC,QAAQ;IAqCR,yBAAyB,CAC7B,kBAAkB,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAStD,cAAc;IAEd,KAAK,WAAkB,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,mBAsB7D;IAEI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B7B"}
1
+ {"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,QAAQ,IAAI,iBAAiB,EAC7B,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAsC,MAAM,MAAM,CAAC;AAStE,OAAO,EAKL,gBAAgB,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoBtD,aAAK,kBAAkB,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAKF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,QAG9C;AAoOD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAS;IACvD;;OAEG;IACH,MAAM,CAAC,WAAW,QAAO,QAAQ,OAAO,CAAC,CACW;IAEpD;;OAEG;IACH,MAAM,CAAC,WAAW,UAAW,GAAG,UAE9B;IAEF;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;;;IAcjC,MAAM,CAAC,IAAI,QAAO,GAAG,CAEnB;IAEF;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,GACrE,qBAAqB;IAuDxB;;;OAGG;WACU,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,UAAU,OAAc,GAAG,mBAGhC;IACF,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,SAAM;IACb,mBAAmB,EAAE,cAAc,CAAC;IACpC,sBAAsB,EAAE,cAAc,CAAC;IACvC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,UAAQ;gBAGxB,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,cAAc,EACnC,sBAAsB,EAAE,cAAc,EACtC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,EACjC,WAAW,EAAE,WAAW;IAY1B;;OAEG;IACH,QAAQ,SAAU,MAAM,KAAG,QAAQ,GAAG,CAAC,CAuBlC;IAGC,QAAQ;IAqCR,yBAAyB,CAC7B,kBAAkB,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAStD,cAAc;IAEd,KAAK,WAAkB,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,mBAsB7D;IAEI,KAAK;CAKZ"}
@@ -97,8 +97,7 @@ var awaitsBleOn_1 = require("./awaitsBleOn");
97
97
  var remapErrors_1 = require("./remapErrors");
98
98
  var connectOptions = {
99
99
  requestMTU: 156,
100
- connectionPriority: 1,
101
- forceDisconnectTimeout: 4000
100
+ connectionPriority: 1
102
101
  };
103
102
  var transportsCache = {};
104
103
  var bleManager = new react_native_ble_plx_1.BleManager();
@@ -114,7 +113,7 @@ var retrieveInfos = function (device) {
114
113
  return infos;
115
114
  };
116
115
  var reconnectionConfig = {
117
- pairingThreshold: 2000,
116
+ pairingThreshold: 1000,
118
117
  delayAfterFirstPairing: 4000
119
118
  };
120
119
  function setReconnectionConfig(config) {
@@ -124,7 +123,7 @@ exports.setReconnectionConfig = setReconnectionConfig;
124
123
  var delay = function (ms) { return new Promise(function (success) { return setTimeout(success, ms); }); };
125
124
  function open(deviceOrId, needsReconnect) {
126
125
  return __awaiter(this, void 0, void 0, function () {
127
- var device, maybeTimeout, devices, connectedDevices, connectedDevicesFiltered, e_1, e_2, res, characteristics, _a, _b, uuid, e_3, e_4_1, deviceModel, serviceUuid, writeUuid, writeCmdUuid, notifyUuid, writeC, writeCmdC, notifyC, characteristics_1, characteristics_1_1, c, notifyObservable, notif, transport, onDisconnect, disconnectedSub, beforeMTUTime, afterMTUTime;
126
+ var device, devices, connectedDevices, connectedDevicesFiltered, e_1, e_2, res, characteristics, _a, _b, uuid, e_3, e_4_1, deviceModel, serviceUuid, writeUuid, writeCmdUuid, notifyUuid, writeC, writeCmdC, notifyC, characteristics_1, characteristics_1_1, c, notifyObservable, notif, transport, onDisconnect, disconnectedSub, beforeMTUTime, afterMTUTime;
128
127
  var _c, _d, e_4, _e, e_5, _f;
129
128
  return __generator(this, function (_g) {
130
129
  switch (_g.label) {
@@ -132,11 +131,6 @@ function open(deviceOrId, needsReconnect) {
132
131
  if (!(typeof deviceOrId === "string")) return [3 /*break*/, 13];
133
132
  if (transportsCache[deviceOrId]) {
134
133
  (0, logs_1.log)("ble-verbose", "Transport in cache, using that.");
135
- maybeTimeout = transportsCache[deviceOrId].disconnectTimeout;
136
- if (maybeTimeout) {
137
- (0, logs_1.log)("ble-verbose", "Clearing queued disconnect");
138
- clearTimeout(transportsCache[deviceOrId].disconnectTimeout);
139
- }
140
134
  return [2 /*return*/, transportsCache[deviceOrId]];
141
135
  }
142
136
  (0, logs_1.log)("ble-verbose", "open(".concat(deviceOrId, ")"));
@@ -381,7 +375,6 @@ var BluetoothTransport = /** @class */ (function (_super) {
381
375
  var _this = _super.call(this) || this;
382
376
  _this.mtuSize = 20;
383
377
  _this.notYetDisconnected = true;
384
- _this.disconnectTimeout = null;
385
378
  /**
386
379
  * communicate with a BLE transport
387
380
  */
@@ -482,7 +475,6 @@ var BluetoothTransport = /** @class */ (function (_super) {
482
475
  var _this = this;
483
476
  (0, logs_1.log)("ble-verbose", "listen...");
484
477
  var unsubscribed;
485
- // $FlowFixMe
486
478
  var stateSub = bleManager.onStateChange(function (state) { return __awaiter(_this, void 0, void 0, function () {
487
479
  var devices;
488
480
  return __generator(this, function (_b) {
@@ -504,7 +496,7 @@ var BluetoothTransport = /** @class */ (function (_super) {
504
496
  return [2 /*return*/];
505
497
  bleManager.startDeviceScan((0, devices_1.getBluetoothServiceUuids)(), null, function (bleError, device) {
506
498
  if (bleError) {
507
- observer.error(bleError);
499
+ observer.error(mapBleErrorToHwTransportError(bleError));
508
500
  unsubscribe();
509
501
  return;
510
502
  }
@@ -606,36 +598,15 @@ var BluetoothTransport = /** @class */ (function (_super) {
606
598
  BluetoothTransport.prototype.setScrambleKey = function () { };
607
599
  BluetoothTransport.prototype.close = function () {
608
600
  return __awaiter(this, void 0, void 0, function () {
609
- var resolve, disconnectPromise;
610
- var _this = this;
611
601
  return __generator(this, function (_b) {
612
602
  switch (_b.label) {
613
603
  case 0:
614
- // Clear any potential leftover timeouts
615
- if (this.disconnectTimeout) {
616
- clearTimeout(this.disconnectTimeout);
617
- }
618
- disconnectPromise = new Promise(function (res) {
619
- resolve = res;
620
- });
621
- // Queue a disconnect
622
- this.disconnectTimeout = setTimeout(function () {
623
- BluetoothTransport.disconnect(_this.id);
624
- resolve();
625
- }, connectOptions.forceDisconnectTimeout);
626
- // For cases where an exchange hasn't resolve and we triggered a `close` we
627
- // introduce a timeout to forcefully disconnect in order to unblock subsequent
628
- // usages of the `withDevice` logic.
629
- return [4 /*yield*/, Promise.race([
630
- this.exchangeBusyPromise || Promise.resolve(),
631
- disconnectPromise,
632
- ])];
604
+ if (!this.exchangeBusyPromise) return [3 /*break*/, 2];
605
+ return [4 /*yield*/, this.exchangeBusyPromise];
633
606
  case 1:
634
- // For cases where an exchange hasn't resolve and we triggered a `close` we
635
- // introduce a timeout to forcefully disconnect in order to unblock subsequent
636
- // usages of the `withDevice` logic.
637
607
  _b.sent();
638
- return [2 /*return*/];
608
+ _b.label = 2;
609
+ case 2: return [2 /*return*/];
639
610
  }
640
611
  });
641
612
  });
@@ -668,9 +639,6 @@ var BluetoothTransport = /** @class */ (function (_super) {
668
639
  return [4 /*yield*/, bleManager.cancelDeviceConnection(id)];
669
640
  case 1:
670
641
  _b.sent();
671
- return [4 /*yield*/, delay(1000)];
672
- case 2:
673
- _b.sent(); // Nb Test to improve stability of re-connections.
674
642
  return [2 /*return*/];
675
643
  }
676
644
  });
@@ -678,4 +646,21 @@ var BluetoothTransport = /** @class */ (function (_super) {
678
646
  return BluetoothTransport;
679
647
  }(hw_transport_1["default"]));
680
648
  exports["default"] = BluetoothTransport;
649
+ var bleErrorToHwTransportError = new Map([
650
+ [react_native_ble_plx_1.BleErrorCode.ScanStartFailed, errors_1.HwTransportErrorType.BleScanStartFailed],
651
+ [
652
+ react_native_ble_plx_1.BleErrorCode.LocationServicesDisabled,
653
+ errors_1.HwTransportErrorType.BleLocationServicesDisabled,
654
+ ],
655
+ [
656
+ react_native_ble_plx_1.BleErrorCode.BluetoothUnauthorized,
657
+ errors_1.HwTransportErrorType.BleBluetoothUnauthorized,
658
+ ],
659
+ ]);
660
+ var mapBleErrorToHwTransportError = function (bleError) {
661
+ var message = "".concat(bleError.message, ". Origin: ").concat(bleError.errorCode);
662
+ var inferedType = bleErrorToHwTransportError.get(bleError.errorCode);
663
+ var type = !inferedType ? errors_1.HwTransportErrorType.Unknown : inferedType;
664
+ return new errors_1.HwTransportError(type, message);
665
+ };
681
666
  //# sourceMappingURL=BleTransport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,13 @@ import Transport from "@ledgerhq/hw-transport";
3
3
  import type { Subscription as TransportSubscription, Observer as TransportObserver, DescriptorEvent } from "@ledgerhq/hw-transport";
4
4
  import type { DeviceModel } from "@ledgerhq/devices";
5
5
  import { Observable } from "rxjs";
6
+ import { HwTransportError } from "@ledgerhq/errors";
6
7
  import type { Device, Characteristic } from "./types";
7
8
  declare type ReconnectionConfig = {
8
9
  pairingThreshold: number;
9
10
  delayAfterFirstPairing: number;
10
11
  };
11
- export declare function setReconnectionConfig(config: ReconnectionConfig | null): void;
12
+ export declare function setReconnectionConfig(config: ReconnectionConfig | null | undefined): void;
12
13
  /**
13
14
  * react-native bluetooth BLE implementation
14
15
  * @example
@@ -35,7 +36,7 @@ export default class BluetoothTransport extends Transport {
35
36
  /**
36
37
  * Scan for bluetooth Ledger devices
37
38
  */
38
- static listen(observer: TransportObserver<DescriptorEvent<Device>>): TransportSubscription;
39
+ static listen(observer: TransportObserver<DescriptorEvent<Device>, HwTransportError>): TransportSubscription;
39
40
  /**
40
41
  * Open a BLE transport
41
42
  * @param {*} deviceOrId
@@ -53,7 +54,6 @@ export default class BluetoothTransport extends Transport {
53
54
  notifyObservable: Observable<any>;
54
55
  deviceModel: DeviceModel;
55
56
  notYetDisconnected: boolean;
56
- disconnectTimeout: null | ReturnType<typeof setTimeout>;
57
57
  constructor(device: Device, writeCharacteristic: Characteristic, writeCmdCharacteristic: Characteristic, notifyObservable: Observable<any>, deviceModel: DeviceModel);
58
58
  /**
59
59
  * communicate with a BLE transport
@@ -1 +1 @@
1
- {"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,QAAQ,IAAI,iBAAiB,EAC7B,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAUhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAsC,MAAM,MAAM,CAAC;AAetE,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqBtD,aAAK,kBAAkB,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAKF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAyOD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAS;IACvD;;OAEG;IACH,MAAM,CAAC,WAAW,QAAO,QAAQ,OAAO,CAAC,CACW;IAEpD;;OAEG;IACH,MAAM,CAAC,WAAW,UAAW,GAAG,UAE9B;IAEF;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;;;IAcjC,MAAM,CAAC,IAAI,QAAO,GAAG,CAEnB;IAEF;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GACnD,qBAAqB;IAsDxB;;;OAGG;WACU,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,UAAU,OAAc,GAAG,mBAIhC;IACF,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,SAAM;IACb,mBAAmB,EAAE,cAAc,CAAC;IACpC,sBAAsB,EAAE,cAAc,CAAC;IACvC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,UAAQ;IAC1B,iBAAiB,EAAE,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAQ;gBAG7D,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,cAAc,EACnC,sBAAsB,EAAE,cAAc,EACtC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,EACjC,WAAW,EAAE,WAAW;IAY1B;;OAEG;IACH,QAAQ,SAAU,MAAM,KAAG,QAAQ,GAAG,CAAC,CAuBlC;IAGC,QAAQ;IAqCR,yBAAyB,CAC7B,kBAAkB,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAStD,cAAc;IAEd,KAAK,WAAkB,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,mBAsB7D;IAEI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B7B"}
1
+ {"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,QAAQ,IAAI,iBAAiB,EAC7B,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAsC,MAAM,MAAM,CAAC;AAStE,OAAO,EAKL,gBAAgB,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoBtD,aAAK,kBAAkB,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAKF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,QAG9C;AAoOD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAS;IACvD;;OAEG;IACH,MAAM,CAAC,WAAW,QAAO,QAAQ,OAAO,CAAC,CACW;IAEpD;;OAEG;IACH,MAAM,CAAC,WAAW,UAAW,GAAG,UAE9B;IAEF;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;;;IAcjC,MAAM,CAAC,IAAI,QAAO,GAAG,CAEnB;IAEF;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,GACrE,qBAAqB;IAuDxB;;;OAGG;WACU,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,UAAU,OAAc,GAAG,mBAGhC;IACF,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,SAAM;IACb,mBAAmB,EAAE,cAAc,CAAC;IACpC,sBAAsB,EAAE,cAAc,CAAC;IACvC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,UAAQ;gBAGxB,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,cAAc,EACnC,sBAAsB,EAAE,cAAc,EACtC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,EACjC,WAAW,EAAE,WAAW;IAY1B;;OAEG;IACH,QAAQ,SAAU,MAAM,KAAG,QAAQ,GAAG,CAAC,CAuBlC;IAGC,QAAQ;IAqCR,yBAAyB,CAC7B,kBAAkB,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAStD,cAAc;IAEd,KAAK,WAAkB,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,mBAsB7D;IAEI,KAAK;CAKZ"}
@@ -85,14 +85,13 @@ import { receiveAPDU } from "@ledgerhq/devices/ble/receiveAPDU";
85
85
  import { log } from "@ledgerhq/logs";
86
86
  import { defer, merge, from, of, throwError } from "rxjs";
87
87
  import { share, ignoreElements, first, map, tap, catchError, } from "rxjs/operators";
88
- import { CantOpenDevice, TransportError, DisconnectedDeviceDuringOperation, PairingFailed, } from "@ledgerhq/errors";
88
+ import { CantOpenDevice, TransportError, DisconnectedDeviceDuringOperation, PairingFailed, HwTransportError, HwTransportErrorType, } from "@ledgerhq/errors";
89
89
  import { monitorCharacteristic } from "./monitorCharacteristic";
90
90
  import { awaitsBleOn } from "./awaitsBleOn";
91
91
  import { decoratePromiseErrors, remapError } from "./remapErrors";
92
92
  var connectOptions = {
93
93
  requestMTU: 156,
94
- connectionPriority: 1,
95
- forceDisconnectTimeout: 4000
94
+ connectionPriority: 1
96
95
  };
97
96
  var transportsCache = {};
98
97
  var bleManager = new BleManager();
@@ -108,7 +107,7 @@ var retrieveInfos = function (device) {
108
107
  return infos;
109
108
  };
110
109
  var reconnectionConfig = {
111
- pairingThreshold: 2000,
110
+ pairingThreshold: 1000,
112
111
  delayAfterFirstPairing: 4000
113
112
  };
114
113
  export function setReconnectionConfig(config) {
@@ -117,7 +116,7 @@ export function setReconnectionConfig(config) {
117
116
  var delay = function (ms) { return new Promise(function (success) { return setTimeout(success, ms); }); };
118
117
  function open(deviceOrId, needsReconnect) {
119
118
  return __awaiter(this, void 0, void 0, function () {
120
- var device, maybeTimeout, devices, connectedDevices, connectedDevicesFiltered, e_1, e_2, res, characteristics, _a, _b, uuid, e_3, e_4_1, deviceModel, serviceUuid, writeUuid, writeCmdUuid, notifyUuid, writeC, writeCmdC, notifyC, characteristics_1, characteristics_1_1, c, notifyObservable, notif, transport, onDisconnect, disconnectedSub, beforeMTUTime, afterMTUTime;
119
+ var device, devices, connectedDevices, connectedDevicesFiltered, e_1, e_2, res, characteristics, _a, _b, uuid, e_3, e_4_1, deviceModel, serviceUuid, writeUuid, writeCmdUuid, notifyUuid, writeC, writeCmdC, notifyC, characteristics_1, characteristics_1_1, c, notifyObservable, notif, transport, onDisconnect, disconnectedSub, beforeMTUTime, afterMTUTime;
121
120
  var _c, _d, e_4, _e, e_5, _f;
122
121
  return __generator(this, function (_g) {
123
122
  switch (_g.label) {
@@ -125,11 +124,6 @@ function open(deviceOrId, needsReconnect) {
125
124
  if (!(typeof deviceOrId === "string")) return [3 /*break*/, 13];
126
125
  if (transportsCache[deviceOrId]) {
127
126
  log("ble-verbose", "Transport in cache, using that.");
128
- maybeTimeout = transportsCache[deviceOrId].disconnectTimeout;
129
- if (maybeTimeout) {
130
- log("ble-verbose", "Clearing queued disconnect");
131
- clearTimeout(transportsCache[deviceOrId].disconnectTimeout);
132
- }
133
127
  return [2 /*return*/, transportsCache[deviceOrId]];
134
128
  }
135
129
  log("ble-verbose", "open(".concat(deviceOrId, ")"));
@@ -374,7 +368,6 @@ var BluetoothTransport = /** @class */ (function (_super) {
374
368
  var _this = _super.call(this) || this;
375
369
  _this.mtuSize = 20;
376
370
  _this.notYetDisconnected = true;
377
- _this.disconnectTimeout = null;
378
371
  /**
379
372
  * communicate with a BLE transport
380
373
  */
@@ -475,7 +468,6 @@ var BluetoothTransport = /** @class */ (function (_super) {
475
468
  var _this = this;
476
469
  log("ble-verbose", "listen...");
477
470
  var unsubscribed;
478
- // $FlowFixMe
479
471
  var stateSub = bleManager.onStateChange(function (state) { return __awaiter(_this, void 0, void 0, function () {
480
472
  var devices;
481
473
  return __generator(this, function (_b) {
@@ -497,7 +489,7 @@ var BluetoothTransport = /** @class */ (function (_super) {
497
489
  return [2 /*return*/];
498
490
  bleManager.startDeviceScan(getBluetoothServiceUuids(), null, function (bleError, device) {
499
491
  if (bleError) {
500
- observer.error(bleError);
492
+ observer.error(mapBleErrorToHwTransportError(bleError));
501
493
  unsubscribe();
502
494
  return;
503
495
  }
@@ -599,36 +591,15 @@ var BluetoothTransport = /** @class */ (function (_super) {
599
591
  BluetoothTransport.prototype.setScrambleKey = function () { };
600
592
  BluetoothTransport.prototype.close = function () {
601
593
  return __awaiter(this, void 0, void 0, function () {
602
- var resolve, disconnectPromise;
603
- var _this = this;
604
594
  return __generator(this, function (_b) {
605
595
  switch (_b.label) {
606
596
  case 0:
607
- // Clear any potential leftover timeouts
608
- if (this.disconnectTimeout) {
609
- clearTimeout(this.disconnectTimeout);
610
- }
611
- disconnectPromise = new Promise(function (res) {
612
- resolve = res;
613
- });
614
- // Queue a disconnect
615
- this.disconnectTimeout = setTimeout(function () {
616
- BluetoothTransport.disconnect(_this.id);
617
- resolve();
618
- }, connectOptions.forceDisconnectTimeout);
619
- // For cases where an exchange hasn't resolve and we triggered a `close` we
620
- // introduce a timeout to forcefully disconnect in order to unblock subsequent
621
- // usages of the `withDevice` logic.
622
- return [4 /*yield*/, Promise.race([
623
- this.exchangeBusyPromise || Promise.resolve(),
624
- disconnectPromise,
625
- ])];
597
+ if (!this.exchangeBusyPromise) return [3 /*break*/, 2];
598
+ return [4 /*yield*/, this.exchangeBusyPromise];
626
599
  case 1:
627
- // For cases where an exchange hasn't resolve and we triggered a `close` we
628
- // introduce a timeout to forcefully disconnect in order to unblock subsequent
629
- // usages of the `withDevice` logic.
630
600
  _b.sent();
631
- return [2 /*return*/];
601
+ _b.label = 2;
602
+ case 2: return [2 /*return*/];
632
603
  }
633
604
  });
634
605
  });
@@ -661,9 +632,6 @@ var BluetoothTransport = /** @class */ (function (_super) {
661
632
  return [4 /*yield*/, bleManager.cancelDeviceConnection(id)];
662
633
  case 1:
663
634
  _b.sent();
664
- return [4 /*yield*/, delay(1000)];
665
- case 2:
666
- _b.sent(); // Nb Test to improve stability of re-connections.
667
635
  return [2 /*return*/];
668
636
  }
669
637
  });
@@ -671,4 +639,21 @@ var BluetoothTransport = /** @class */ (function (_super) {
671
639
  return BluetoothTransport;
672
640
  }(Transport));
673
641
  export default BluetoothTransport;
642
+ var bleErrorToHwTransportError = new Map([
643
+ [BleErrorCode.ScanStartFailed, HwTransportErrorType.BleScanStartFailed],
644
+ [
645
+ BleErrorCode.LocationServicesDisabled,
646
+ HwTransportErrorType.BleLocationServicesDisabled,
647
+ ],
648
+ [
649
+ BleErrorCode.BluetoothUnauthorized,
650
+ HwTransportErrorType.BleBluetoothUnauthorized,
651
+ ],
652
+ ]);
653
+ var mapBleErrorToHwTransportError = function (bleError) {
654
+ var message = "".concat(bleError.message, ". Origin: ").concat(bleError.errorCode);
655
+ var inferedType = bleErrorToHwTransportError.get(bleError.errorCode);
656
+ var type = !inferedType ? HwTransportErrorType.Unknown : inferedType;
657
+ return new HwTransportError(type, message);
658
+ };
674
659
  //# sourceMappingURL=BleTransport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/react-native-hw-transport-ble",
3
- "version": "6.27.11-nightly.0",
3
+ "version": "6.27.11-nightly.2",
4
4
  "description": "Ledger Hardware Wallet Bluetooth BLE transport for React Native",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -29,9 +29,9 @@
29
29
  "react-native-ble-plx": "2.0.3",
30
30
  "rxjs": "6",
31
31
  "uuid": "^3.4.0",
32
- "@ledgerhq/devices": "^7.0.5",
33
- "@ledgerhq/errors": "^6.12.1",
34
- "@ledgerhq/hw-transport": "^6.27.8",
32
+ "@ledgerhq/devices": "^7.0.6-nightly.0",
33
+ "@ledgerhq/errors": "^6.12.2-nightly.0",
34
+ "@ledgerhq/hw-transport": "^6.27.9-nightly.0",
35
35
  "@ledgerhq/logs": "^6.10.1"
36
36
  },
37
37
  "gitHead": "dd0dea64b58e5a9125c8a422dcffd29e5ef6abec",
@@ -9,6 +9,7 @@ import {
9
9
  BleManager,
10
10
  ConnectionPriority,
11
11
  BleErrorCode,
12
+ BleError,
12
13
  } from "react-native-ble-plx";
13
14
  import {
14
15
  getBluetoothServiceUuids,
@@ -32,6 +33,8 @@ import {
32
33
  TransportError,
33
34
  DisconnectedDeviceDuringOperation,
34
35
  PairingFailed,
36
+ HwTransportError,
37
+ HwTransportErrorType,
35
38
  } from "@ledgerhq/errors";
36
39
  import type { Device, Characteristic } from "./types";
37
40
  import { monitorCharacteristic } from "./monitorCharacteristic";
@@ -40,7 +43,6 @@ import { decoratePromiseErrors, remapError } from "./remapErrors";
40
43
  let connectOptions: Record<string, unknown> = {
41
44
  requestMTU: 156,
42
45
  connectionPriority: 1,
43
- forceDisconnectTimeout: 4000,
44
46
  };
45
47
  const transportsCache = {};
46
48
  const bleManager = new BleManager();
@@ -59,10 +61,12 @@ type ReconnectionConfig = {
59
61
  delayAfterFirstPairing: number;
60
62
  };
61
63
  let reconnectionConfig: ReconnectionConfig | null | undefined = {
62
- pairingThreshold: 2000,
64
+ pairingThreshold: 1000,
63
65
  delayAfterFirstPairing: 4000,
64
66
  };
65
- export function setReconnectionConfig(config: ReconnectionConfig | null): void {
67
+ export function setReconnectionConfig(
68
+ config: ReconnectionConfig | null | undefined
69
+ ) {
66
70
  reconnectionConfig = config;
67
71
  }
68
72
 
@@ -74,11 +78,6 @@ async function open(deviceOrId: Device | string, needsReconnect: boolean) {
74
78
  if (typeof deviceOrId === "string") {
75
79
  if (transportsCache[deviceOrId]) {
76
80
  log("ble-verbose", "Transport in cache, using that.");
77
- const maybeTimeout = transportsCache[deviceOrId].disconnectTimeout;
78
- if (maybeTimeout) {
79
- log("ble-verbose", "Clearing queued disconnect");
80
- clearTimeout(transportsCache[deviceOrId].disconnectTimeout);
81
- }
82
81
  return transportsCache[deviceOrId];
83
82
  }
84
83
 
@@ -343,11 +342,12 @@ export default class BluetoothTransport extends Transport {
343
342
  * Scan for bluetooth Ledger devices
344
343
  */
345
344
  static listen(
346
- observer: TransportObserver<DescriptorEvent<Device>>
345
+ observer: TransportObserver<DescriptorEvent<Device>, HwTransportError>
347
346
  ): TransportSubscription {
348
347
  log("ble-verbose", "listen...");
348
+
349
349
  let unsubscribed;
350
- // $FlowFixMe
350
+
351
351
  const stateSub = bleManager.onStateChange(async (state) => {
352
352
  if (state === "PoweredOn") {
353
353
  stateSub.remove();
@@ -366,7 +366,7 @@ export default class BluetoothTransport extends Transport {
366
366
  null,
367
367
  (bleError, device) => {
368
368
  if (bleError) {
369
- observer.error(bleError);
369
+ observer.error(mapBleErrorToHwTransportError(bleError));
370
370
  unsubscribe();
371
371
  return;
372
372
  }
@@ -412,7 +412,6 @@ export default class BluetoothTransport extends Transport {
412
412
  static disconnect = async (id: any) => {
413
413
  log("ble-verbose", `user disconnect(${id})`);
414
414
  await bleManager.cancelDeviceConnection(id);
415
- await delay(1000); // Nb Test to improve stability of re-connections.
416
415
  };
417
416
  id: string;
418
417
  device: Device;
@@ -422,7 +421,6 @@ export default class BluetoothTransport extends Transport {
422
421
  notifyObservable: Observable<any>;
423
422
  deviceModel: DeviceModel;
424
423
  notYetDisconnected = true;
425
- disconnectTimeout: null | ReturnType<typeof setTimeout> = null;
426
424
 
427
425
  constructor(
428
426
  device: Device,
@@ -543,31 +541,32 @@ export default class BluetoothTransport extends Transport {
543
541
  }
544
542
  };
545
543
 
546
- async close(): Promise<void> {
547
- // Clear any potential leftover timeouts
548
- if (this.disconnectTimeout) {
549
- clearTimeout(this.disconnectTimeout);
544
+ async close() {
545
+ if (this.exchangeBusyPromise) {
546
+ await this.exchangeBusyPromise;
550
547
  }
551
-
552
- let resolve;
553
- const disconnectPromise = new Promise<void>((res) => {
554
- resolve = res;
555
- });
556
-
557
- // Queue a disconnect
558
- this.disconnectTimeout = setTimeout(() => {
559
- BluetoothTransport.disconnect(this.id);
560
- resolve();
561
- }, connectOptions.forceDisconnectTimeout as number);
562
-
563
- // For cases where an exchange hasn't resolve and we triggered a `close` we
564
- // introduce a timeout to forcefully disconnect in order to unblock subsequent
565
- // usages of the `withDevice` logic.
566
- await Promise.race([
567
- this.exchangeBusyPromise || Promise.resolve(),
568
- disconnectPromise,
569
- ]);
570
-
571
- return;
572
548
  }
573
549
  }
550
+
551
+ const bleErrorToHwTransportError = new Map([
552
+ [BleErrorCode.ScanStartFailed, HwTransportErrorType.BleScanStartFailed],
553
+ [
554
+ BleErrorCode.LocationServicesDisabled,
555
+ HwTransportErrorType.BleLocationServicesDisabled,
556
+ ],
557
+ [
558
+ BleErrorCode.BluetoothUnauthorized,
559
+ HwTransportErrorType.BleBluetoothUnauthorized,
560
+ ],
561
+ ]);
562
+
563
+ const mapBleErrorToHwTransportError = (
564
+ bleError: BleError
565
+ ): HwTransportError => {
566
+ const message = `${bleError.message}. Origin: ${bleError.errorCode}`;
567
+
568
+ const inferedType = bleErrorToHwTransportError.get(bleError.errorCode);
569
+ const type = !inferedType ? HwTransportErrorType.Unknown : inferedType;
570
+
571
+ return new HwTransportError(type, message);
572
+ };