mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
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>