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

Alan-Jowett / sonde / 23670482496
82%

Build:
DEFAULT BRANCH: main
Ran 27 Mar 2026 10:43PM UTC
Jobs 1
Files 76
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

27 Mar 2026 10:38PM UTC coverage: 85.588% (-0.1%) from 85.704%
23670482496

push

github

web-flow
fix(admin): restore identity, phone PSKs, and handler configs on import (#536)

* fix(admin): restore identity, phone PSKs, and handler configs on import

\import_state\ called \decrypt_state()\ which discards gateway identity,
phone PSK registrations, and handler routing configs from the decrypted
bundle.  Switch to \decrypt_state_full()\ and restore all five components:

  1. Nodes + programs via existing \eplace_state()\
  2. Gateway identity via \store_gateway_identity()\
  3. Phone PSKs via clear-then-store
  4. Handler configs via interior-mutable \RwLock\ field update

The \handler_configs\ field is changed from \Vec<HandlerConfig>\ to
\RwLock<Vec<HandlerConfig>>\ so \import_state\ (\&self\) can write it.

Also fixes a stale doc comment on \xport_state\ that incorrectly
claimed handler configs were excluded from the export bundle.

Adds integration test \	0810_import_state_restores_identity_phones_and_handlers\.

Fixes #521

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

* fix: clarify import_state doc for conditional identity restore

Address review feedback: identity is only restored when present in the
bundle (older-format bundles may omit it).

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

* docs: update specs for full-state import_state restore

- GW-0805: acceptance criteria now requires all state components
  (nodes, programs, identity, phone PSKs, handler configs)
- GW-1001: description and criteria enumerate all five components
- T-1005b: new test case verifying identity, phone PSKs, and
  handler configs survive import round-trip
- Traceability table updated for GW-0805 and GW-1001

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

* fix: clarify handler config doc comment and assert issued_at in test

- Update import_state doc comment to clarify that handler config
  update only affects AdminService's stored copy for subsequent
  export_state calls, not the live han... (continued)

7 of 49 new or added lines in 3 files covered. (14.29%)

22805 of 26645 relevant lines covered (85.59%)

158.74 hits per line

Uncovered Changes

Lines Coverage ∆ File
38
89.05
-2.56% crates/sonde-gateway/src/sqlite_storage.rs
3
84.38
-3.76% crates/sonde-gateway/src/storage.rs
1
67.53
1.48% crates/sonde-gateway/src/admin.rs
Jobs
ID Job ID Ran Files Coverage
1 23670482496.1 27 Mar 2026 10:43PM UTC 76
85.59
GitHub Action Run
Source Files on build 23670482496
  • Tree
  • List 76
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23670482496
  • cb689dcf on github
  • Prev Build on main (#23670434641)
  • Next Build on main (#23670490527)
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