• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / sonde / 24692965779
82%

Build:
DEFAULT BRANCH: main
Ran 20 Apr 2026 10:14PM UTC
Jobs 1
Files 113
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Apr 2026 10:10PM UTC coverage: 80.809%. Remained the same
24692965779

push

github

web-flow
fix(node): detect encryption via polling for Just Works pairing (#767)

* fix(pair): call createBond() before GATT connect latch to ensure LESC Numeric Comparison on Android

The modem calls `ble_gap_security_initiate()` immediately in its
`on_connect` callback, sending a BLE Security Request to Android.
The previous code called `createBond()` only after waiting for the
GATT connection to complete. By that point the Security Request had
already arrived, and Android — not yet in bonding mode — handled the
incoming SMP as a background pairing, advertising NoInputNoOutput IO
capabilities. This forced Just Works (PAIRING_VARIANT_CONSENT) instead
of LESC Numeric Comparison, causing `enforce_lesc()` to reject the
connection (PT-0904).

Fix: move `createBond()` to immediately after `connectGatt()` returns,
before waiting for the connect latch. `connectGatt()` is asynchronous —
the LE link is not yet established when it returns — so `createBond()`
races ahead of the modem's Security Request. Android enters bonding mode
with KeyboardDisplay IO capabilities before the Security Request arrives,
ensuring LESC Numeric Comparison is negotiated.

Windows was unaffected because `BtleplugTransport::pairing_method()`
returns `None`, which `enforce_lesc()` treats as OS-enforced LESC,
bypassing the check.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(pair): preserve lastError when setting up bonding to avoid masking GATT connection errors

When createBond() is called in step 2 (now before waiting for the GATT
connection latch), the onConnectionStateChange() callback may race ahead
and set lastError with a GATT status code. Resetting lastError = null in
the bonding setup block would lose this error, causing step 3 to report
the generic 'connection failed' instead of the actual GATT status.

Fix: do not reset lastError in the bonding setup block. The error will
only be cleared later at step 5, after the GATT connection has completed
successfu... (continued)

24456 of 30264 relevant lines covered (80.81%)

203.57 hits per line

Jobs
ID Job ID Ran Files Coverage
1 24692965779.1 20 Apr 2026 10:14PM UTC 113
80.81
GitHub Action Run
Source Files on build 24692965779
  • Tree
  • List 113
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24692965779
  • faa5d2bb on github
  • Prev Build on main (#24690448068)
  • Next Build on main (#24695208556)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc