Question: New conversations, contact permissions, and interoperability

I’ve been pondering some real world scenarios that relate to contact permissions and have at least one example where I’m not sure what would happen…so I thought I’d open a thread to explore it, and potentially other scenarios.

Scenario:

  • Alice (who has Converse) meets Bob (who has Coinbase Wallet) at EthDenver
  • Both Alice and Bob have the fancy ENS NFC badges, and have XMTP associated with their corresponding addresses
  • Alice scans Bob’s badge, opening Converse, and sends a message to them

Assumptions:

  • Based on the current state of things, Bob will need to open their requests tab, and allow Alice to show up
    • Just noting here that this is less than ideal for an in person situation
  • Once allowed, Bob can respond to Alice no problem

Question:

  • After Alice has sent the initial message, does Converse update their contact permissions to allow Bob?
    • Reason for asking: should Alice initiate the conversation in Client A (Converse) and then switch over to Client B (Coinbase Wallet), is it possible that the conversation is stuck in a Requests section because they haven’t yet explicitly chosen to allow messages from Bob?

Appreciate any thoughts on the one!

What specifically about this interaction is less than ideal?

When Alice sends a message in a conversation, the SDK automatically sets the consent for Bob to consented. It’s not a Converse feature, it’s part of the SDK itself. So all clients that support the protocol level consent will handle this well.
Was that your question?

Just echoing what Noe said. The SDK has two scenarios of implicit consent.

  1. If I create a newConversation or a newGroup the sdk will set that conversation to allowed if I am the creator.

  2. If I send a message to a group or conversation with a state of unknown we will set that conversation to allowed for me the message sender.

I’m not sure the internals of this ENS scanning but I believe it’s likely calling newConversation as Alice the creator and thus it should fall into category 1. If Alice were to send any message than it would fall into category 2.

Bob on the other hand will have lots of requests from people scanning their badge.

1 Like

Awesome. Thanks @nplasterer and @noe sounds like at least for this scenario, any app that’s using the SDK should handle this in a way that’s maximally interoperable.