You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Each installation has one Welcome topic which we will use for both groups and 1:1. That means that even if you have a client that supports Groups but not 1:1 (the state of play at Groups launch), you’ll be aware of 1:1 convos coming in from newer clients that do support 1:1. We’ll want to make use of the ConversationType enum on the ImmutableMetadata to make sure that we completely ignore these groups as part of the prod launch (we’d want to process the welcome and save the group, but then never touch it again). If we ignore them, we can’t mangle the decoding or permissioning of messages, and we can just wait until you have a 1:1-compatible client version to ever read a message from those conversations.
Dual Sends
When sending a message with dual-send we would send the message normally in the V2 conversation. In V3, we would need to do the following things.
Resolve the wallet_address to an inbox_id
If it can’t be resolved, abort the process. Dual-send isn’t possible here.
Check if there is an existing 1:1 convo with that inbox_id
If not, create one and invite the other member
Send the message
The resolution from 1 can change over time, so we’ll have to be OK with the messages potentially going to multiple places if someone re-assigns their wallet to a different inbox.
Welcome messages for 1to1 should be hidden in libxmtp for clients that don't support 1to1 yet
Resolver logic for sending messages
Validation
A client that supports V3 can still recieve a V2 only message
A client that supports only V2 can still get messages sent from a V3 client
A client that supports V3 can send a V2 and V3 message
A client that supports V3 does not show double messages
The text was updated successfully, but these errors were encountered:
tuddman
changed the title
Duel Sending - Can still receive messages from non V3 clients (Medium)
Dual Sending - Can still receive messages from non V3 clients (Medium)
May 28, 2024
Ffibindings to write V2 messages to the database.
Migration to write retro actively all V2 messages.
It would be nice for Android switch to rust xmtp/xmtp-android#219 --- this is blocked cause streaming is broken for android in V2 would be better to use a similar callback stream like we do for V3
Welcome messages
Each
installation
has one Welcome topic which we will use for both groups and 1:1. That means that even if you have a client that supports Groups but not 1:1 (the state of play at Groups launch), you’ll be aware of 1:1 convos coming in from newer clients that do support 1:1. We’ll want to make use of theConversationType
enum on theImmutableMetadata
to make sure that we completely ignore these groups as part of the prod launch (we’d want to process the welcome and save the group, but then never touch it again). If we ignore them, we can’t mangle the decoding or permissioning of messages, and we can just wait until you have a 1:1-compatible client version to ever read a message from those conversations.Dual Sends
When sending a message with dual-send we would send the message normally in the V2 conversation. In V3, we would need to do the following things.
wallet_address
to aninbox_id
inbox_id
The resolution from 1 can change over time, so we’ll have to be OK with the messages potentially going to multiple places if someone re-assigns their wallet to a different inbox.
The text was updated successfully, but these errors were encountered: