mautrix-whatsapp surfaces same contact under two ids
Triaging a personal-CRM messaging queue and finding the same human bucketed twice.
mautrix-whatsapp can surface the same WhatsApp contact under two different platform_ids depending on the channel: a country-code+phone form (e.g. 919643801660) when messages arrive via 1:1 DM, and a lid-<digits> form (WhatsApps stable linked-identity id) when they arrive via a group channel. The bridges normalise step does not unify them, so any downstream system keyed on a single from id will treat one human as two and split their messages. Workaround: dedupe by display name + temporal proximity, or accept that you have to merge twice when resolving the contact into your local identity store and let both identifiers live on the same record from then on.
When ingesting whatsmeow/mautrix-whatsapp messages, expect the lid-* shape from group rooms; key your contact resolver on a fuzzy match (display + alt identifier list) rather than the raw platform_id.