Tags: xmtp/proto
Tags
feat: out-of-band conversation type (#288) Changes: 1. Defines a 'oneshot' conversation type 2. Defines a 'readd request' oneshot message, which is used to request fork recovery 3. Defines a readd intent, which is the response to the request. The creator of the intent will publish a commit and then send welcomes to the requester. __________ Optional notes: Readd requests need to be sent to superadmins outside of the main group (as the sender is forked), however they still need MLS level authentication and privacy guarantees. We could create a single-use group and then send a message on it, but given only a single message is needed, an alternative is to embed the message on the immutable metadata of the group itself, and have the recipient 'receive' the message at the time of decrypting the welcome, without persisting the group (ie: use openMLS to construct the group/StagedWelcome in-memory, pull the message from the immutable metadata, then throw the group away). That would allow us to avoid: - Delays from the sender needing to send an additional message on the group after the welcomes have been sent - Delays from the recipient needing to sync the group after receiving the welcome to receive the message - Any unintentional consequences around group storage, syncing on it in the future, calling maybe_update_installations, or rendering it in UI. Also means we don't create a new topic on the server.
feat: remove is-commit - will be determined from payload (#282) ### Remove `is_commit` field from `AuthenticatedData` message in protocol buffer definition as it will be determined from payload The `is_commit` boolean field (tag 4) is removed from the `AuthenticatedData` message definition in [proto/xmtpv4/envelopes/envelopes.proto](https://github.com/xmtp/proto/pull/282/files#diff-f812a33b13a82e881082c50bb3818e6aad1d114d1141279972acbc496a645fda). A comment is added indicating that tag 4 should not be reused, following the same pattern as the existing comment for tag 1 which was previously used by `target_originator`.
PreviousNext