From 357be5cdf4d23b9af4e8749945cbacc684bd4310 Mon Sep 17 00:00:00 2001 From: James Magahern Date: Tue, 9 Sep 2025 13:33:13 -0700 Subject: [PATCH] core: HTTPClient: update socket should just automatically retry on subsqeuent auth success --- core/kordophone/src/api/http_client.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/kordophone/src/api/http_client.rs b/core/kordophone/src/api/http_client.rs index 537d495..842a4ec 100644 --- a/core/kordophone/src/api/http_client.rs +++ b/core/kordophone/src/api/http_client.rs @@ -426,6 +426,7 @@ impl APIInterface for HTTPAPIClient { log::debug!("Websocket request: {:?}", request); + let mut should_retry = true; // retry once after authenticating. match connect_async(request).await.map_err(Error::from) { Ok((socket, response)) => { log::debug!("Websocket connected: {:?}", response.status()); @@ -440,8 +441,12 @@ impl APIInterface for HTTPAPIClient { let new_token = self.authenticate(credentials.clone()).await?; self.auth_store.set_token(new_token.to_string()).await; - // try again on the next attempt. - continue; + if should_retry { + // try again on the next attempt. + continue; + } else { + break Err(e); + } } else { log::error!("Websocket unauthorized, no credentials provided"); break Err(Error::ClientError(