Skip to content
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

Tracking: iOS Group Chat #228

Closed
5 of 50 tasks
nplasterer opened this issue Jan 29, 2024 · 0 comments
Closed
5 of 50 tasks

Tracking: iOS Group Chat #228

nplasterer opened this issue Jan 29, 2024 · 0 comments

Comments

@nplasterer
Copy link
Contributor

nplasterer commented Jan 29, 2024

Group Chat Alpha - [Targeting February 1, 2024]

  • Reproduce utility classes/methods
    • Client
      • update existing create method on client to also create a FfiXmtpClient
      • Existing client should now also have a FfiLogger
      • Have existing SigningKey extend FfiInboxOwner so it can be used to create both V2 and V3 clients
      • If FfiXmtpClient exists get address from account_address()
      • If FfiXmtpClient exists store a reference to installation_id()
      • Conversations on client should also take a libXMTPConversations
      • If FfiXmtpClient exists client create should call register_identity
      • Ability to list_my_installations()
      • Ability to revoke_installation()
    • Conversations
      • Should be able to create a group newGroup() -- create_group()
      • Should be able to list just groups listGroups -- libXMTPConversations.list()
      • Should be able to list an ordered list of conversations & groups list(includeGroups: Boolean = false)
      • Should be able to stream groups libXMTPConversations.stream()
      • Should be able to stream both conversations & groups stream(includeGroups:Boolean = false)
      • Should be able to sync groups so that the libxmtp database gets updated
      • Should be able to stream all messages from both groups and conversations (streamAllMessages(includeGroups: Boolean = false)
    • Conversation/Group methods
      • Should have a unique identifier of the conversation id() equivalent to existing topic
      • Should be able to send() messages of any content type
      • Should be able to resync the libxmtp database sync()
      • Should be able to list messages find_messages() as Decoded and Decrypted Messages
      • Should be able to list members list_members()
      • Should be able to add members add_members()
      • Should be able to remove members remove_members()
      • Should be able to stream messages stream()
      • Should be able to leave a group leave()
      • Can check if a message can be sent can_message()
  • Publish repo README covering Dev Preview features and with Dev Preview badge

GA - [Targeting March 30, 2024]

  • Integrated with a third party app
    • Successfully received push notifications
  • Publish repo README with GA badge
  • Reference docs for SDK GA

Docs

Docs are currently being drafted documents for a PR. You can check the progress made so far by visiting the preview link. For more information on the PR itself, you can check xmtp/xmtp-dot-org#650.

Nice to have

  • Create sample app
    • Use SDK to demonstrate
      • Initialize client
      • List conversations
      • List messages
      • Send messages
      • Stream conversations
      • Stream messages
      • Wallet Connect
      • Group Chat
        • send messages (any content type)
        • add member
        • remove member
        • list members
        • leave
@nplasterer nplasterer moved this to In Progress in MLS Work Jan 29, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in MLS Work Mar 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants