-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XMTP V3 alpha docs for building an inbox #61
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
||
### ConversationContainer interface | ||
|
||
Serves as a unified structure for managing both group chats and DMs. It provides a consistent set of properties and methods to seamlessly handle various conversation types. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added this paragraph above - correct?
|
||
### Group class | ||
|
||
Represents a group chat conversation, providing methods to manage group-specific functionalities such as sending messages, synchronizing state, and handling group membership. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added this paragraph above - correct?
|
||
### Dm class | ||
|
||
Represents a DM conversation, providing methods to manage one-on-one communications, such as sending messages, synchronizing state, and handling message streams. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added this paragraph above - correct?
|
||
Use the following methods to provide users with control over their messaging experience, ensuring their inboxes are tailored to their preferences and free from spam. | ||
|
||
### Get new consent records from the network - coming soon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added "coming soon" per Naomi's comment in the Notion draft - OK?
|
||
*Replaces V2 `client.contact.allowGroups([groupIds])`* | ||
|
||
### Stream consent records in real-time - coming soon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added "coming soon" per Naomi's comment in the Notion draft - OK?
|
||
With XMTP, you can enable real-time push notifications to keep users updated on new conversations and messages. | ||
|
||
For best practices, see [Best practices for push notifications](/notifications/notif-best-practices). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a review and refresh, I think... adding a doc task for this
|
||
For best practices, see [Best practices for push notifications](/notifications/notif-best-practices). | ||
|
||
### **Get a Welcome message topic ID** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK to include this section per Naomi's comment in the Notion draft - should this have a "coming soon"?
|
||
### **Get a Welcome message topic ID** | ||
|
||
Get the topic identifier for a new group chat or DM conversation. This topic ID tells your app where to listen on the network for push notifications about the start of a new group chat or DM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This used to say: a new group chat or DM
I updated it - but I don’t think I got it quite right? This is specific to an account (alix?) - so we are looking for a topic ID for all new conversations created for alix?
|
||
### **Get a V3 message topic ID** | ||
|
||
Get the topic identifier for a group chat or DM conversation that’s already in progress. This topic ID tells your app where to listen on the network for push notifications about any new messages in a specific group chat or DM conversation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this used to say: The conversation of the message
I updated it - but I don’t think I got it quite right?
*Replaces V2 `/xmtp/0/m-$addresses/proto`* | ||
|
||
### Subscribe to topics | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added paragraphs below - accurate?
await subscribeAll([alix.welcomeTopic(), ...topics]) | ||
``` | ||
|
||
### Receive push notifications |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated this section - accurate?
``` | ||
|
||
|
||
### Run a push notification server |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added this section - accurate?
- **Integration with push notification services**: The server interfaces with platform-specific push notification services, like [Apple Push Notification Service](/notifications/build-notifications#understand-apple-entitlements-for-ios-apps) (APNs) for iOS or Firebase Cloud Messaging (FCM) for Android. It sends the processed notifications to these services, which then deliver them to the user’s device. | ||
|
||
To learn more about running a push notification server, see: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Valid resources? Or maybe we shouldn't point to the Android and iOS examples if they haven't been updated to v3 yet?
@@ -0,0 +1,172 @@ | |||
## Build the inbox | |||
|
|||
:::warning[🚧 XMTP V3 Alpha] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Open to feedback on this callout. I know that the XMTP v3 group chat SDK features are used in the Converse production app - so calling about XMTP V3 as alpha seems inaccurate.
However, I was thinking that if we are talking about building an app with both DMs and group chat on V3 - this is what could qualify this as a beta?
Also, if we are talking about an existing app built with V2 - starting to build DMs and group chat on V3 - this could qualify as a beta in that we still need to define a recommended migration path.
Again - open to all feedback on this!
|
||
::: | ||
|
||
### Create an account SigningKey |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to align Signer and SigningKey usage
The functions are returning Signer, but then using a SigningKey in
Client.createV3(SigningKey, {
below
:::warning[🚧 XMTP V3 Alpha] | ||
|
||
The XMTP V3 SDKs are in **alpha** status and ready for you to start experimenting with. | ||
However, we do **not** recommend using alpha software in production apps. Software in this status will change as we add features and iterate based on feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we / do we really need to say this with Converse already using v3 in production?
|
||
:::warning[🚧 XMTP V3 Alpha] | ||
|
||
The XMTP V3 SDKs are in **alpha** status and ready for you to start experimenting with. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Experiment" feels off -- the reader is ready to build, even if v3 isn't ready for them.
Closing - handled via #75 |
Adds docs to build an inbox with DMs and group chat with MLS using XMTP V3 - alpha
Preview: https://docs-xmtp-org-git-v3-alpha-ephemerahq.vercel.app/inboxes/create-client