Adds an opt-in "require a pinned server" setting that gates the one RESOLVE path that currently trusts whatever key a server hands back for a brand-new, hand-typed address — self-certifying addresses and already-known contacts are structurally exempt. A refusal shows an inline recovery card in compose to fetch, compare, and pin the key without losing the draft. Also closes two adjacent gaps: a self-certifying address could silently overwrite an already-trusted contact's key (now asks, showing both fingerprints), and a contact's detail view now names its server and pin state. |
||
|---|---|---|
| .. | ||
| app.js | ||
| config.js | ||
| crypto.js | ||
| noise.js | ||
| proto.js | ||
| store.js | ||
| transport.js | ||