From 461c37bd208e372eddcace51a5ffc122baa1f04e Mon Sep 17 00:00:00 2001 From: James Magahern Date: Fri, 2 May 2025 15:46:33 -0700 Subject: [PATCH] daemon: updatemonitor: dont sync convo list on conversation update, only message sync --- kordophoned/src/daemon/mod.rs | 7 ++++--- kordophoned/src/daemon/update_monitor.rs | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/kordophoned/src/daemon/mod.rs b/kordophoned/src/daemon/mod.rs index f4eeda0..399df4d 100644 --- a/kordophoned/src/daemon/mod.rs +++ b/kordophoned/src/daemon/mod.rs @@ -240,7 +240,7 @@ impl Daemon { let guid = outgoing_message.guid.clone(); self.post_office_sink.send(PostOfficeEvent::EnqueueOutgoingMessage(outgoing_message)).await.unwrap(); - + guid } @@ -264,7 +264,7 @@ impl Daemon { // Send conversations updated signal signal_sender.send(Signal::ConversationsUpdated).await?; - log::info!(target: target::SYNC, "Synchronized {} conversations", num_conversations); + log::info!(target: target::SYNC, "List synchronized: {} conversations", num_conversations); Ok(()) } @@ -294,7 +294,7 @@ impl Daemon { // Send conversations updated signal. signal_sender.send(Signal::ConversationsUpdated).await?; - log::info!(target: target::SYNC, "Synchronized {} conversations", num_conversations); + log::info!(target: target::SYNC, "Full sync complete, {} conversations processed", num_conversations); Ok(()) } @@ -307,6 +307,7 @@ impl Daemon { let conversation = database.with_repository(|r| r.get_conversation_by_guid(&conversation_id)).await?; if conversation.is_none() { // If the conversation doesn't exist, first do a conversation list sync. + log::warn!(target: target::SYNC, "Conversation {} not found, performing list sync", conversation_id); Self::sync_conversation_list(database, signal_sender).await?; } diff --git a/kordophoned/src/daemon/update_monitor.rs b/kordophoned/src/daemon/update_monitor.rs index 57ed1ca..06edec7 100644 --- a/kordophoned/src/daemon/update_monitor.rs +++ b/kordophoned/src/daemon/update_monitor.rs @@ -42,8 +42,8 @@ impl UpdateMonitor { match update { UpdateEvent::ConversationChanged(conversation) => { log::info!(target: target::UPDATES, "Conversation changed: {:?}", conversation); - log::info!(target: target::UPDATES, "Triggering conversation list sync"); - self.send_event(Event::SyncConversationList).await + log::info!(target: target::UPDATES, "Syncing new messages for conversation id: {}", conversation.guid); + self.send_event(|r| Event::SyncConversation(conversation.guid, r)).await .unwrap_or_else(|e| { log::error!("Failed to send daemon event: {}", e); });