mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
Follow-up to the F3 re-pin/forward-secrecy fix, closing two residuals found by adversarial re-review of the first fix: - Concurrent-leave rotation drop (medium): rotateKeyPeriodically's _rotatingKey guard silently skipped a rotation already in flight, so a keyed peer that left mid-rotation kept a live room key until the next periodic (<=5 min) rotation. A coincident keyed-peer leave now DEFERS its rekey (_rotationPending) instead of dropping it; the completing rotation drains it via a shared drainPendingRotationOrArmTimer, excluding the departed member. Applied to both the become-holder and periodic rotation paths; reset in clearE2EEState. - Blind re-pin (info, defense-in-depth): the mismatch modal's Trust action pinned publishedKey even when its fingerprint could not be computed (nothing shown to verify). onAccept now refuses to pin when fingerprint is null. Client gates green: typecheck, lint (0 errors), prettier, vitest (3364). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>