Tags: zakaton/noble
Tags
fix(deps): bump @stoprocent/bluetooth-hci-socket to ^2.2.6 (stoprocen… …t#70) * chore(deps): bump @stoprocent/bluetooth-hci-socket to ^2.2.6 https://claude.ai/code/session_01HU9uQ2cN3sYhweWuLAwZZ6 * chore(deps): update package-lock.json for bluetooth-hci-socket ^2.2.6 https://claude.ai/code/session_01HU9uQ2cN3sYhweWuLAwZZ6 --------- Co-authored-by: Claude <noreply@anthropic.com>
fix: prevent listener accumulation via shared onceExclusive() base cl… …ass (stoprocent#68) Introduce NobleEventEmitter, a thin EventEmitter subclass with a single onceExclusive(event, callback) method that ensures at most one listener per event name. Previous listener is removed before adding a new one, preventing accumulation when methods are called repeatedly before the event fires. All classes (Noble, Peripheral, Characteristic, Service, Descriptor) now extend NobleEventEmitter and use onceExclusive() for callback-based methods: setScanParameters, startScanning, stopScanning, connect, disconnect, updateRssi, discoverServices, read/writeHandle, write, subscribe/unsubscribe, discoverDescriptors, broadcast, readValue, writeValue, discoverIncludedServices, discoverCharacteristics. Also fixes cross-listener cleanup in discoverAsync() and notificationsAsync() using a shared cleanup guard pattern. Closes stoprocent#61 https://claude.ai/code/session_013EXDtBm4WGje3Jcbt4LBP9 Co-authored-by: Claude <noreply@anthropic.com>
fix(hci): guard malformed extended advertising reports (stoprocent#64) * Guard malformed extended advertising reports * Test malformed extended adv guard
fix: terminate called without an active exception stoprocent#61
fix(build): upgrade Docker API version to v1.44 for prebuildify-cross (… …stoprocent#65) * fix(build): upgrade Docker API version to v1.44 for prebuildify-cross Modern Docker daemons require minimum API version 1.44. The @thegecko/docker-run and @vweevers/docker-pull packages hardcode v1.21, causing prebuildify-cross ARM cross-compilation to fail with "client version is too old" errors on newer CI runners. Add patch-package patches to upgrade both to v1.44 and run patch-package before prebuildify-cross in the build script. https://claude.ai/code/session_011JuCiuPFDsPRv7eCrFoBdi * fix(build): patch prebuildify-cross Docker API version to v1.44 The previous patches for @thegecko/docker-run and @vweevers/docker-pull were being overridden because prebuildify-cross itself hardcodes DOCKER_VERSION = 'v1.24' and passes it explicitly to both packages. Add a patch for prebuildify-cross to upgrade its DOCKER_VERSION constant from v1.24 to v1.44. https://claude.ai/code/session_011JuCiuPFDsPRv7eCrFoBdi --------- Co-authored-by: Claude <noreply@anthropic.com>
fix(windows): emit error callback when GetCharacteristic/GetDescripto… …r fails (stoprocent#60) When GetCharacteristic or GetDescriptor fails (e.g., user cancels Windows BLE pairing dialog), the code was only logging the error but not calling the emit callback to notify JavaScript. This caused the Promise/callback to hang indefinitely. Fixed functions: - Read: now calls mEmit.Read() on GetCharacteristic failure - Write: now calls mEmit.Write() on GetCharacteristic failure - Notify: now calls mEmit.Notify() on GetCharacteristic failure - DiscoverDescriptors: now calls mEmit.DescriptorsDiscovered() on failure - ReadValue: now calls mEmit.ReadValue() on GetDescriptor failure - WriteValue: now calls mEmit.WriteValue() on GetDescriptor failure This ensures JavaScript always receives a callback (success or error), preventing hangs when BLE operations fail due to pairing issues. Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
fix(win): fix subscribe to characteristic on windows stoprocent#58
fix(noble): disconnect event type and error handling (stoprocent#55)
fix(hci): handling hci binding errors - This commit fixes stoprocent#51
PreviousNext