Commit Graph
5698 Commits
Author SHA1 Message Date
mikecarper fbd5c84ec4 Preserve contacts when source discovery is unknown
Do not classify legacy or page-name stat errors as unread payloads. Keep candidate contact files unchanged, retry source selection, and use bounded volatile operation if authority remains unknown. Cover legacy absence, downgrade leftovers, cleanup-time metadata recovery and persistent faults with actual-source sanitizer tests and restored-bug negative controls.
2026-10-16 08:38:26 -07:00
mikecarper 2311160a97 Recover unreadable contacts without stranding Companions
Verify fallback namespace moves before accepting publication or rollback. Reload readable contact images at a safe host boundary, discard only unreadable contact data after bounded retries, and permit volatile operation when storage cannot recover. Preserve unrelated stores and fail explicit durability requests truthfully.

Keep existing flash, RAM, OTA and capability limits by streaming nRF52 preferences through the validated wire table and sharing identical contact deadline resets. Add fault-injection, sanitizer, legacy-image parity and CLI lifecycle regressions.
2026-10-16 08:28:45 -07:00
mikecarper d7cd5686a1 Update reviewed USB inventory for new Full Companions 2026-10-16 08:19:01 -07:00
mikecarper 64473c95ea Add missing ESP32 Full Companion release targets
Provide canonical Full recipes for Waveshare S3 LR1121 and Wio Tracker L2 while retaining directly buildable USB and BLE compatibility recipes. Cover hardware inheritance, menu selection, and exact Full mappings in the release profile tests.
2026-10-16 07:35:44 -07:00
mikecarper f012c83836 Verify fallback file stages with independent CRC32C 2026-10-16 07:03:45 -07:00
mikecarper 880733c209 Hold fleet authority after uncertain settings publication 2026-10-16 06:53:19 -07:00
mikecarper 930a64284f Reconcile uncertain LittleFS writes and preserve storage authority
Verify public images after every rename attempt, expose publication outcomes, and use an independent CRC32C fingerprint so valid IEEE-CRC-tailed images cannot mask a stale target. Preserve persistent formats and reject directories for empty images.

Reconcile uncertain migration journals before choosing filesystem authority. Preserve retained contact snapshots when page publication is unconfirmed without clearing dirty state or acknowledging the new page generation.

Add readback, rename, CRC-tail, migration reboot/quarantine, and snapshot eviction regressions. Keep complete RAK Full Companion within the unchanged OTA ceiling through equivalent code compaction, with no feature or validation cuts.
2026-10-16 06:37:59 -07:00
mikecarper a4f833f0da Preserve radio2 ACK ownership without extending expired leases
Keep tracked reply generations stable in feature-off builds as well as optional transport builds. After ACK copies drain, let expired temporary profiles restore saved settings while failed permanent commits stay staged and retry.

Cover packet generations, rollover, persistent commit faults, cancellation and eventual commit across feature-off, Meshtext and Ethernet configurations. Document ACK ownership and post-reply storage retry behavior.
2026-10-16 06:02:01 -07:00
mikecarper 412922e931 Retain required Pico BLE replies through notification backpressure 2026-10-16 05:30:17 -07:00
mikecarper e326503ead Reject binary trace routes that exceed representable hop count 2026-10-16 05:26:29 -07:00
mikecarper bd59c1f3a7 Estimate Companion trace timeouts from planned radio transmissions 2026-10-16 05:20:39 -07:00
mikecarper c3a52e6095 Keep Companion reboot deadlines armed across millis rollover 2026-10-16 05:18:37 -07:00
mikecarper 3b80686455 Use received radio profile for clock transit estimates 2026-10-16 05:04:06 -07:00
mikecarper 40261af4df Prevent pipelined clients from starving Companion transports 2026-10-16 05:03:34 -07:00
mikecarper 277f6d174b Compare Sensor subscription deltas in exact LPP units 2026-10-16 05:03:22 -07:00
mikecarper 56a2918f9f Scope Indicator WiFi assertion to its connection helper 2026-10-16 05:02:56 -07:00
mikecarper e27a4ecf2c Use packet radio settings for forwarding delays 2026-10-16 04:43:12 -07:00
mikecarper 898e1b8097 Preserve exact LPP bytes in Sensor telemetry snapshots 2026-10-16 04:40:44 -07:00
mikecarper 0a7355299a Report radio recovery refusal after receive ownership changes 2026-10-16 04:38:35 -07:00
mikecarper a12326c4a1 Bound plain-message ACK attempts to decrypted data 2026-10-16 04:27:59 -07:00
mikecarper 18b6b699bb Track GPS pin ownership in official GUI test harness 2026-10-16 04:19:30 -07:00
mikecarper 493c9c7203 Reject malformed cached adverts before sharing contacts 2026-10-16 04:13:21 -07:00
mikecarper 48614ad951 Separate tracker RF leases from timed maintenance wakes 2026-10-16 04:03:34 -07:00
mikecarper 1b7a9e3cc2 Reuse beacon retirement timestamp to retain OTA flash budget 2026-10-16 03:48:07 -07:00
mikecarper 23ccd7ba40 Refresh reviewed USB recipe inventory after target additions 2026-10-16 03:46:00 -07:00
mikecarper fd03344fed Publish watchdog HWCDC boundaries before reopening USB 2026-10-16 03:43:22 -07:00
mikecarper fcb2010a19 Model radio2 ownership in official console tests 2026-10-16 03:41:38 -07:00
mikecarper 52f9ef8f5c Match beacon TX retirement to fixed AGC cadence 2026-10-16 03:34:27 -07:00
mikecarper aed266121a Keep HWCDC watchdog escalation and pending cleanup live 2026-10-16 03:21:18 -07:00
mikecarper 4564678b8a Bound Ethernet receive work to the entry byte budget 2026-10-16 03:14:37 -07:00
mikecarper 46f6e2e4f2 Reject oversized flood retry prefix lists without truncation 2026-10-16 03:13:33 -07:00
mikecarper 4d9f88e46f Validate flood retry bucket index before narrowing 2026-10-16 03:11:02 -07:00
mikecarper 469aa67f62 Restore terminal profile checks for current NodeInfo policy 2026-10-16 03:06:35 -07:00
mikecarper f8e8a9c3a7 Keep OTA-only Companions on inherited foreign callbacks 2026-10-16 03:01:34 -07:00
mikecarper a731fbdb50 Handle correlated C++ guards in host test extraction 2026-10-16 03:01:21 -07:00
mikecarper 16749091ff Keep RAK Companion Ethernet waits off the mesh loop
Run DHCP and renewal in a cooperative worker, bound socket commands, and retain SPI ownership until cleanup is safe. Preserve framing deadlines, response ownership and whole-frame replay, including pending-ACK queue pinning.

Budget the worker additively and retain all OTA names with an exact-checked Full-only compact index. Add full-driver, sanitizer, queue, shutdown, storage and memory regression coverage.
2026-10-16 02:23:03 -07:00
mikecarper 15afd63d24 Retain SdFat in remapped RAK4631 OTA profile builds 2026-10-16 01:48:27 -07:00
mikecarper 605c2f206d Preserve non-SD OTA staging during card maintenance 2026-10-16 01:43:48 -07:00
mikecarper f07421afa5 Restore shared Ethernet chip select on every acquisition 2026-10-16 01:43:06 -07:00
mikecarper c0362a5dfc Restore RX power saving after deferred calibration cleanup 2026-10-16 01:42:37 -07:00
mikecarper 6fa2a6ad0a Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:27:24 -07:00
mikecarper 7a1b4d026b Bound failed RX retries without blocking power-saving sleep 2026-10-16 01:27:24 -07:00
mikecarper 57bdbf4bb6 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:21:48 -07:00
mikecarper ae8212a78c Reject AGC intervals that would wrap or silently disable resets 2026-10-16 01:19:09 -07:00
mikecarper e62d9866a2 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-16 01:18:26 -07:00
mikecarper 3804bca99a Add adaptive RAK4631 SD storage to full firmware profiles 2026-10-16 01:18:26 -07:00
mikecarper aed4eb1a1d Use production packet routing types in OTA adapter regression 2026-10-16 01:08:46 -07:00
mikecarper 47cfb8a7fa Fit headless Wio Companion while retaining button controls 2026-10-16 00:55:56 -07:00
mikecarper eeb254107f Preserve folder OTA staging when resume reads fail 2026-10-16 00:54:49 -07:00
mikecarper ff62999655 Retain USB commands until required replies can be queued 2026-10-16 00:53:06 -07:00