Fix Cardputer delivery, live settings and power management

Keep selected chats bound to full contact keys and route keyboard channel sends through the active transport. Deliver accepted plain, room and Meshtext messages to local history and notifications once; disarm rejected sends and retries.

Use shared live radio settings, GPS acquisition and power-saving policy, screen timers and red night palette. Report save failures, preserve verified custom preferences, and guard display controls and shutdown.

Add executable sanitizer regressions for routing, retries, selection, storage faults, UI lifecycle and GPS. Both Companion builds and the shared T-Deck regression pass; no physical Cardputer testing performed.
This commit is contained in:
mikecarper committed 2026-10-27 22:59:26 -07:00
1 parent e5d5981e5e
commit 9a2211e85a
27 files changed
+1950 -346

No files matched your search

+4
View File
@@ -400,7 +400,11 @@ jobs:
python3 -B test/test_cardputer_board_policy.py -v
python3 -B test/test_cardputer_layout.py -v
python3 -B test/test_cardputer_ui.py -v
python3 -B test/test_cardputer_ui_lifecycle.py -v
python3 -B test/test_cardputer_mesh_storage.py -v
python3 -B test/test_cardputer_messaging.py -v
python3 -B test/test_cardputer_delivery.py -v
python3 -B test/test_cardputer_gps.py -v
python3 -B test/test_cardputer_runtime_memory.py -v
python3 -B test/test_cardputer_license.py -v
python3 -B test/test_protocol_parser_bounds.py -v