diff --git a/CHANGELOG.md b/CHANGELOG.md index a4433fbc..3735fc34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## Unreleased -## [5.8.0] - 2025-10-13 +## [5.8.1] - 2025-10-16 + +### Fixed + +- Fixed bug where BLE peripheral event listeners were not being removed when the connection timed out. + +## [5.8.0] - 2025-10-16 ### Added diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 1e40e6da..8d6ee994 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -281,7 +281,7 @@ export default function Home(): JSX.Element {

NinjaTerm is an open source and free electron (or web-based) application designed for viewing debug serial port data and sending commands when developing firmware for - an embedded device (e.g. microcontroller). TEST + an embedded device (e.g. microcontroller).

If you are looking for a serious terminal for continual use, the installable desktop versions are recommended. If you are looking for a quick way to view some serial diff --git a/package.json b/package.json index 7d59dd1a..e7da9e54 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ninjaterm", "productName": "NinjaTerm", - "version": "5.8.0", + "version": "5.8.1", "description": "A modern, powerful serial terminal for developers and engineers.", "author": { "name": "Geoffrey Hunter", diff --git a/src/main/MainBluetoothService.ts b/src/main/MainBluetoothService.ts index 65920ecd..6cf7787a 100644 --- a/src/main/MainBluetoothService.ts +++ b/src/main/MainBluetoothService.ts @@ -279,6 +279,7 @@ export class MainBluetoothService { this.connectionAttemptTimeout = null; // On Windows, I observed a problem where is the peripheral was reset (i.e. a drop the connection), then if we tried to connect again, noble would allow the connection to succeed, even though the peripheral was not definitely not connected to the computer. To combat this, we consider a connection attempt only complete if noble both reports it connects AND we can successfully scan for services and characteristics (the scan would not work for a "ghost" device). If this timeout occurs, it can be because it's connected to a "ghost" device. So force a disconnect. this.peripheral?.disconnect(); + this.peripheral?.removeAllListeners(); }, CONNECTION_ATTEMPT_TIMEOUT_MS); // Find the device in discovered peripherals