Add SubscribeAllEnvelopes endpoint to the Replication API#322
Conversation
| }; | ||
| } | ||
|
|
||
| rpc SubscribeAllEnvelopes(SubscribeAllEnvelopesRequest) returns (stream SubscribeEnvelopesResponse) { |
There was a problem hiding this comment.
Return type is reused - shared with the SubscribeEnvelopes endpoint, since they return the same thing
|
I do not believe subscribe all needs a cursor. We don't provide it in the V3 version and it is very expensive to deliver on. If someone provides a cursor of 0 we are going to try and send them terrabytes of messages immediately. |
Makes sense, I created an issue to change that in a separate PR |
|
🎉 This PR is included in version 3.89.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This PR introduces a new endpoint to the Replication API specification, allowing subscription to all envelopes, with a cursor to optionally specify starting point.
This is a somewhat distinct version of
SubscribeEnvelopes, which mandates that either topics or originators are specified in the query filter.This endpoint will be primarily (only) used by the notification server, and will have separate authorization and rate limit settings (details TBD).
Part of work on xmtp/example-notification-server-go#61
Note
Add
SubscribeAllEnvelopesRPC endpoint to the Replication APIAdds a new
SubscribeAllEnvelopesstreaming RPC to theReplicationApiservice in message_api.proto, exposed asPOST /mls/v2/subscribe-all-envelopes. The newSubscribeAllEnvelopesRequestmessage accepts an optionallast_seencursor to support resumable streaming, and returns a stream ofSubscribeEnvelopesResponsemessages.Macroscope summarized 1565c0e.