[2.8.0] XEdDSA packet signing UI
I maintainer di solito rispondono entro 1 giorno
@mverch67 ci sta già lavorando.
Dal 7/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Implement the XEdDSA packet-signing UI for Device UI (part of MUI), per the cross-platform spec in meshtastic/design#113 — that issue is the source of truth, read it first.
Summary
Surface when a node and its broadcast packets are cryptographically signed and verified (XEdDSA over the node's identity key). This is read-only — the radio does all crypto and drops invalid/stripped signatures before the client sees them, so there is no error state to render. Clients only ever affirm the good state.
Two distinct marks, kept separate:
- 🛡️ shield-with-check = authentic (a verified, signed broadcast) — the UI's nearest shield-with-check asset
- 🔒 lock = private (a PKI-encrypted DM) — keep the existing lock, unchanged
Flags from the radio (read-only — no client-side crypto)
| Field | Meaning |
|---|---|
MeshPacket.xeddsa_signed (22) |
this received packet's signature is verified — primary signal |
NodeInfo.has_xeddsa_signed (14) |
this node signs its packets (≥1 verified) |
Data.xeddsa_signature (10) is not needed for v1.
What to build
- Messaging — broadcast bubbles: a green 🛡️ on
xeddsa_signedbubbles; reveal "Signed · verified" on tap. Per-message. Never on DMs — firmware never sets the flag on DMs, so gating on the boolean alone is sufficient (it can't false-positive on a DM). - Node details — "Signed node": a green, prominent 🛡️ row driven by
has_xeddsa_signed, in the existing security section, ordered most-trusted-first (manual-verified → signed → has-key → no-key). Label it as automatic trust (e.g. "Verified automatically"), distinct from user-asserted manual key verification. Phrase as observed ("signs its packets"), not "signing enabled". - Node list (rows): show the same 🛡️ in each node row's security cluster, beside the key/lock status icon — visible at a glance without opening details. Apply to all list densities (compact + full).
- Message detail/info: affirmative plain-language state, e.g. "Signed & verified — verified with their key." Neutral (never accusatory) copy for unsigned.
v1 decisions (settled in #113)
- Two affordances (shield + lock), not merged into one "security" concept.
- Node: two distinct cells (manual key-verify + signature-verify), laid out per platform (Android pairs them in one row), not conflated.
- Per-data-field signed badges → deferred. Unsigned → strictly silent. Compose-time "will be signed" hint → out. "Signed but unverifiable" state → dropped (use the verified bool only).
Don'ts
- Don't reuse the lock icon for signing.
- Don't use red / error styling anywhere — nothing here is an error.
- Don't flag unsigned DMs / large / legacy traffic as insecure.
Reference
Android implementation: meshtastic/Meshtastic-Android#5976 (+ #5980 for making the shield green & prominent). Reference screenshots live in the parent spec.
Parent: meshtastic/design#113
- Lingua principale
- C
- Stelle
- 499
- Fork
- 125
- Merge medio
- 1g 6h
- PR unite (30g)
- 21
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di meshtastic/device-ui
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
meshtastic/device-ui#392 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
meshtastic/device-ui#283 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 58/100
meshtastic/device-ui#434 ·
I maintainer di solito rispondono entro 1 giorno
-
[2.8.1.8e6a88d Alpha] T-DECK: Notification resets to "banner & sound" after changing ringtoneAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
meshtastic/device-ui#433 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
meshtastic/device-ui#410 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di meshtastic/device-ui
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Bug Status: Needs Triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
[onnx] update to 1.22.0Apertacategory:port-update
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni
-
Update OpenBSD CI to OpenBSD 8.0 and vmactions/openbsd-vm v1.4.9Forse già presa @hyoklee l’ha presa oggi. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 2 giorni
-
v9.6.0: CMake incorrectly enforces presence of libevdevForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno