fix(observer): decrypt attachments with K_conv (v2) - #162
Conversation
Attachments were ChaCha-encrypted with the ECDH IKM while Observer only holds disclosed K_conv, causing aead::Error on Ctrl+S. Encrypt and prefer decrypt with K_conv so Observer matches My Trades; keep ECDH as a decrypt fallback for legacy/mobile blobs. Co-authored-by: Cursor <cursoragent@cursor.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (9)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughAttachment decryption now uses ChangesAttachment key compatibility
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to Attachments now use the disclosed-compatible K_conv key while retaining legacy ECDH decryption fallback, enabling Observer saves without dropping compatibility for older encrypted attachments. No current merge-blocking risk remains. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
K_conv— Ctrl+S failed withdecrypt failed: aead::Error.K_convso Observer matches My Trades after Shift+K disclosure; try legacy ECDH as a decrypt fallback for older/mobile blobs.K_conv-first candidate list from the admin↔party ECDH secret.ChatAttachment, blossom save helpers, send path, andorder_chat_shared_key_hex.Test plan
cargo test --all-features --lib attachment_key_is_k_convcargo test --all-features --lib decrypt_blob_with_keyscargo clippy --all-targets --all-features -- -D warningsSummary by CodeRabbit
New Features
Bug Fixes
Documentation