Skip to content
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions crates/xmtp_api/src/mls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -278,10 +278,24 @@ where
// _NOTE_:
// Default ID Cursor should be one
// else we miss welcome messages
self.api_client
.subscribe_welcome_messages(&[installation_key])
.await
.map_err(crate::dyn_err)
//
// Retry the subscription setup so callers are insulated from
Comment thread
neekolas marked this conversation as resolved.
Outdated
// transient transport errors — for example, after a network blip
// the underlying tonic `Channel` reconnects lazily on the next RPC
// and the first post-reconnect call can observe a
// `Status::Cancelled` / "connection closed" while the channel is
// still transitioning out of its transient-failure state
// (see issue #3438). Non-retryable errors short-circuit via
// `RetryableError`.
retry_async!(
self.retry_strategy,
(async {
self.api_client
.subscribe_welcome_messages(&[installation_key])
.await
})
)
.map_err(crate::dyn_err)
}

pub async fn publish_commit_log(&self, requests: Vec<PublishCommitLogRequest>) -> Result<()> {
Expand Down
Loading