mautrix / imessage

A Matrix-iMessage puppeting bridge
https://go.mau.fi/mautrix-imessage/
GNU Affero General Public License v3.0
348 stars 37 forks source link

BRI-4070: Implement chat deduping via sender correlation identifiers #84

Closed EricRabil closed 2 years ago

EricRabil commented 2 years ago

This PR adds support for Barcelona's sender correlation data, and merges DMs/senders based on this.

EricRabil commented 2 years ago

Good point, there's not really a need for the correlation ID to be added to message/tapback as the puppet already carries them. Clarifying that chats have a correlation ID, where anything carrying that ID should be merged. Senders also have correlation IDs, where anything carrying that ID in the sender_correlation_id field should be merged into a single puppet. Since messages and tapbacks already have the puppet ID, we can just check the puppet instead.