When someone sends a message to your PNI, your responses (from your ACI) must include a PNI signature, and the sealed sender certificate you use during this period should include your phone number. This confirms to the other user that your ACI is associated with your PNI. However, as soon as they have processed a PniSignature, there's no need to keep wasting space in messages. Detect this using the following conditions: - You received a delivery receipt from them. - The original message was sent via sealed sender (so the server can't synthesize a delivery receipt). - All their other devices have already sent delivery receipts for this message. - The original message actually had a PniSignature in it. - The original message's PniSignature matches your current PNI (relevant if you change your number and then get an incoming message from the same person at your new PNI). Additionally, reset phone number sharing for *everyone* when you change your number; they've contacted you at your old PNI, representing your old number, and even if you reply you can no longer claim that PNI as yours. |
||
|---|---|---|
| .. | ||
| TSMessageTest.m | ||
| TSOutgoingMessageTest.swift | ||