From cacbf4af45b6ee8474eb579c240cc5973ad1d3e7 Mon Sep 17 00:00:00 2001 From: mirsal Date: Mon, 28 Apr 2025 18:25:40 +0000 Subject: [PATCH] matrix: Handle sync errors more gracefully * Retry failed sync immediately * Trace the underlying error when sync fails --- Cargo.toml | 2 +- src/matrix.rs | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6e00af4..42ca5ec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "matrix-feedbot" -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "GPL-3.0-or-later" authors = ["mirsal "] diff --git a/src/matrix.rs b/src/matrix.rs index 7c88556..8b84da7 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -32,7 +32,7 @@ use tokio::{ sync::broadcast }; -use tracing::info; +use tracing::{error, info}; async fn on_stripped_state_member( room_member: StrippedRoomMemberEvent, @@ -98,7 +98,13 @@ pub async fn login_and_sync( loop { tokio::select! { - Ok(_) = client.sync(settings.clone()) => return Ok(()), + res = client.sync(settings.clone()) => match res { + Ok(_) => return Ok(()), + Err(e) => { + error!("Sync error: {e:?}"); + () + } + }, recv = rx.recv() => match recv { Ok((msg, rooms)) => {