whisperfish / presage

A high-level Rust library to help write clients for the Signal Messenger.
GNU Affero General Public License v3.0
107 stars 20 forks source link

Deleted Contacts #214

Open Schmiddiii opened 9 months ago

Schmiddiii commented 9 months ago

Signal now supports the deletion of contacts since a few versions (see https://github.com/signalapp/Signal-Desktop/releases/tag/v6.37.0). Currently, it seems like deleted contacts are still synced to presage and can be queried from the store.

Deleted contacts should not be stored after a contact sync and therefore also never be returned from the store using the corresponding methods.

gferon commented 6 months ago

To summarize, would this mean that you delete a contact and then mark it as "blacklisted" in the way that you will never save it again?

Schmiddiii commented 6 months ago

Yes, store some kind of tombstone to mark the contact as deleted and not sync it again.

I am surprised though that Signal even syncs such deleted contacts in full and does not send a tombstone for them. This may require looking into how Signal marks such contacts as deleted.