gsmol/web/js
randogoth 80aca8a29f feat: refuse to learn a first-contact key from an unpinned server
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.
2026-10-08 22:12:36 +03:00
..
app.js feat: refuse to learn a first-contact key from an unpinned server 2026-10-08 22:12:36 +03:00
config.js feat: bake a deploy-time server pin into the client via presetServer 2026-09-26 20:00:16 +03:00
crypto.js feat: browser client for smol mail 2026-09-26 15:59:31 +03:00
noise.js feat: harden bridge origin/CSP, cache decryption, and overhaul the web client UI 2026-09-26 19:05:05 +03:00
proto.js feat: restructure settings into identity, server, backup and advanced tabs 2026-10-08 21:24:05 +03:00
store.js feat: refuse to learn a first-contact key from an unpinned server 2026-10-08 22:12:36 +03:00
transport.js feat: restructure settings into identity, server, backup and advanced tabs 2026-10-08 21:24:05 +03:00