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

Alan-Jowett / sonde / 26109567842 / 1
82%
main: 82%

Build:
DEFAULT BRANCH: main
Ran 19 May 2026 04:17PM UTC
Files 129
Run time 4s
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

19 May 2026 04:07PM UTC coverage: 82.936% (-0.05%) from 82.986%
26109567842.1

push

github

web-flow
fix: reconcile `current_program_hash` on WAKE when PROGRAM_ACK was lost (#966)

* fix: reconcile current_program_hash on WAKE when PROGRAM_ACK was lost (#961)

When a node completes a chunked program transfer but the PROGRAM_ACK is
lost over the radio, the gateway's stored current_program_hash becomes
permanently stale. The node reports the correct hash in subsequent WAKE
messages, but the gateway never updates the stored value. This breaks
decoder enrichment because the APP_DATA handler looks up the decoder
image using the stale current_program_hash.

Add a narrow econcile_current_program_hash storage method that
atomically sets current_program_hash only when ssigned_program_hash
still matches the WAKE-reported hash. This avoids full-record upsert
which could clobber concurrent reassignments or firmware metadata.

The reconciliation runs in the WAKE handler after command selection:
if the node's WAKE-reported hash equals the assigned hash but differs
from the stored current hash, the gateway treats the WAKE as implicit
proof that the node installed the program and updates the record.

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

* address review: fix doc, SQLite NotFound consistency, log clarity, lazy hex

- Update doc comment for reconcile_current_program_hash to cover all
  Ok(false) cases (assigned mismatch or already reconciled)
- Mirror update_node_wake_metadata pattern in SQLite impl: return
  StorageError::NotFound when node_id does not exist
- Adjust Ok(false) debug log to reflect ambiguity (concurrent
  reassignment or already reconciled)
- Move hex encoding outside tracing macro to avoid eager allocation

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

---------

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

37717 of 45477 relevant lines covered (82.94%)

249.01 hits per line

Source Files on job 26109567842.1
  • Tree
  • List 129
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 26109567842
  • 15363bf6 on github
  • Prev Job for on main (#26077670975.1)
  • Next Job for on main (#26109586055.1)
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