Description
Align Apple remote administration with the signed plaintext licensed-mode design in meshtastic/design#123 and meshtastic/firmware#10972.
Apple currently emits Admin packets without setting PKI fields. Preserve that licensed plaintext behavior explicitly, test it across Admin call paths, and update remote-Admin wording so licensed mode does not claim PKI encryption. Normal-mode wording and transport behavior must remain unchanged.
Scope
- Add a central outbound invariant for remote
ADMIN_APP through a licensed connected radio: channel 0, pkiEncrypted=false, and empty packet public key.
- Determine mode from the connected local
UserEntity.isLicensed, not the destination callsign/licensed bit.
- Cover Admin requests/mutations that use the shared helper and any direct sends that bypass it.
- Update licensed-mode picker/request wording from “PKI Admin” to signed plaintext/verified Admin while retaining PKI wording in normal mode.
- Keep shield/lock semantics accurate: signature shield for verified licensed Admin, never an encryption lock.
- Avoid a broad refactor of individual request/save functions; prefer one policy hook.
Acceptance criteria
- Every licensed local → remote Admin getter, session request, and mutation has plaintext packet fields.
- Normal-mode remote Admin behavior and wording remain unchanged.
- Self/local Admin behavior remains unchanged.
- Unknown local owner state does not assume licensed mode.
- Tests record outgoing packets for licensed, normal, self, and unknown-mode cases and cover conditional UI wording.
- PR remains draft until paired two-radio validation with firmware#10972 proves readable plaintext signed Admin request/reply behavior.
Dependencies
Description
Align Apple remote administration with the signed plaintext licensed-mode design in meshtastic/design#123 and meshtastic/firmware#10972.
Apple currently emits Admin packets without setting PKI fields. Preserve that licensed plaintext behavior explicitly, test it across Admin call paths, and update remote-Admin wording so licensed mode does not claim PKI encryption. Normal-mode wording and transport behavior must remain unchanged.
Scope
ADMIN_APPthrough a licensed connected radio: channel 0,pkiEncrypted=false, and empty packet public key.UserEntity.isLicensed, not the destination callsign/licensed bit.Acceptance criteria
Dependencies