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

Alan-Jowett / sonde / 24695208556
82%

Build:
DEFAULT BRANCH: main
Ran 20 Apr 2026 11:17PM 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 11:14PM UTC coverage: 80.809%. Remained the same
24695208556

push

github

web-flow
fix(node): wait for MTU exchange before enforcing minimum in encryption fallback (#768)

* 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 co... (continued)

24456 of 30264 relevant lines covered (80.81%)

203.57 hits per line

Jobs
ID Job ID Ran Files Coverage
1 24695208556.1 20 Apr 2026 11:17PM UTC 113
80.81
GitHub Action Run
Source Files on build 24695208556
  • 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 #24695208556
  • 9d8071a5 on github
  • Prev Build on main (#24692959227)
  • Next Build on main (#24703683615)
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