From 8161b271888bb3a50aa396eafe620d034a5a9e7d Mon Sep 17 00:00:00 2001 From: "Valentin D. Pinkman" Date: Mon, 27 Jan 2025 11:28:09 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20(transport):=20Fix=20Chrome=20wi?= =?UTF-8?q?ndows=20ble=20connect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/few-colts-jump.md | 5 +++++ packages/tools/esbuild-tools/build.mjs | 5 +++++ packages/tools/esbuild-tools/watch.mjs | 5 +++++ .../web-ble/src/api/transport/WebBleTransport.ts | 11 +++++++++-- 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 .changeset/few-colts-jump.md diff --git a/.changeset/few-colts-jump.md b/.changeset/few-colts-jump.md new file mode 100644 index 000000000..5a87d490c --- /dev/null +++ b/.changeset/few-colts-jump.md @@ -0,0 +1,5 @@ +--- +"@ledgerhq/device-transport-kit-web-ble": patch +--- + +Fix Chrome windows ble connect diff --git a/packages/tools/esbuild-tools/build.mjs b/packages/tools/esbuild-tools/build.mjs index 0ef3676dd..ba68115be 100755 --- a/packages/tools/esbuild-tools/build.mjs +++ b/packages/tools/esbuild-tools/build.mjs @@ -1,10 +1,15 @@ #!/usr/bin/env zx import "zx/globals"; +import { usePowerShell } from "zx"; import esbuild from "esbuild"; import { nodeExternalsPlugin } from "esbuild-node-externals"; import { replaceTscAliasPaths } from "tsc-alias"; +if (process.platform === "win32") { + usePowerShell(); +} + const config = { minify: true, bundle: false, diff --git a/packages/tools/esbuild-tools/watch.mjs b/packages/tools/esbuild-tools/watch.mjs index fdd2f641c..15015b008 100755 --- a/packages/tools/esbuild-tools/watch.mjs +++ b/packages/tools/esbuild-tools/watch.mjs @@ -1,9 +1,14 @@ #!/usr/bin/env zx import "zx/globals"; +import { usePowerShell } from "zx"; import esbuild from "esbuild"; import { nodeExternalsPlugin } from "esbuild-node-externals"; import { replaceTscAliasPaths } from "tsc-alias"; +if (process.platform === "win32") { + usePowerShell(); +} + const config = { entryPoints: ["index.ts"], minify: false, diff --git a/packages/transport/web-ble/src/api/transport/WebBleTransport.ts b/packages/transport/web-ble/src/api/transport/WebBleTransport.ts index e30d43d0e..07d37a179 100644 --- a/packages/transport/web-ble/src/api/transport/WebBleTransport.ts +++ b/packages/transport/web-ble/src/api/transport/WebBleTransport.ts @@ -255,7 +255,12 @@ export class WebBleTransport implements Transport { ); return discoveredDevice; } catch (error) { - await bleDevice.forget(); + this._logger.error("Error while discovering device", { + data: { error, bleDevice }, + }); + if (bleDevice.forget) { + await bleDevice.forget(); + } throw error; } }).caseOf({ @@ -350,7 +355,9 @@ export class WebBleTransport implements Transport { return Right(connectedDevice); } catch (error) { - await internalDevice.bleDevice.forget(); + if (internalDevice.bleDevice.forget) { + await internalDevice.bleDevice.forget(); + } this._internalDevicesById.delete(deviceId);