Skip to content

v3.1.5 - E2EE QR Login Key Verification Fix

Choose a tag to compare

@EdamAme-x EdamAme-x released this 05 Jul 11:28
166da0d

What's Changed

Bug Fixes

  • fix(e2ee): verify transferred key pair after QR login and fallback to fresh registration (#197, fixes #195)
    • After QR login, accounts with pre-existing E2EE identity keys could end up with a stored private key that doesn't match the server-registered public key, causing deterministic "Unsupported state or unable to authenticate data" GCM errors on text message decryption
    • decodeE2EEKeyV1 now validates decoded keys before storing (privKey→pubKey derivation + server-registered pubKey check)
    • Falls back to registering a fresh Curve25519 key pair when verification fails
    • Emits e2ee:keyMismatch event for observability

New Features

  • feat(relation): add findContactBySearchIdOrTicketV3 and addFriendByUserId (#196)
    • RelationService.findContactBySearchIdOrTicketV3({ searchId }) — resolves a Contact from a LINE ID via RE4
    • RelationService.addFriendByUserId({ userId }) — searches by id then adds as friend
    • RelationService.findContactByPhoneV3({ phoneNumber }) and addFriendByPhone({ phoneNumber })

Full Changelog: v3.1.4...v3.1.5