Files
OwnCord/Client/tauri-client
J3vbandClaude Opus 4.8 53b9c46179 feat(e2ee): surface F3 voice identity verification in the channel sidebar
Render the per-peer E2EE identity-verification state (F3 TOFU) on voice
user rows in the live channel sidebar, and give legitimate key rotation an
in-app recovery path:

- Per-peer shield badge in renderVoiceChannelItem: green shield-check
  (verified, safety number in tooltip), muted shield (unverified/legacy),
  red shield-alert (mismatch, click to review).
- createIdentityMismatchModal (in CertMismatchModal.ts, reusing the .cert-*
  CSS and buildRow) — the identity-key analogue of the cert-mismatch prompt.
  It shows the changed key's fingerprint for out-of-band verification, and
  "Trust New Key" re-pins via rePinPeerIdentity to recover from a genuine
  rotation.
- Fold verification status into the sidebar's voiceStore structural
  signature so a verified/unverified/mismatch flip re-renders the badge.
- Three Lucide shield icons; .vu-verify layout CSS.

The badge lives in ChannelSidebar.renderVoiceChannelItem (the live voice
renderer); createVoiceChannel in VoiceChannel.ts is dead/unused.

Client gates green: typecheck, lint (0 errors), prettier, full vitest (3358).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 22:06:50 +02:00
..