From cb8ee079ce071af8022629946a438412ad6d3569 Mon Sep 17 00:00:00 2001 From: Dakota Brink <779390+codabrink@users.noreply.github.com> Date: Fri, 7 Feb 2025 10:43:58 -0500 Subject: [PATCH] Turn on history sync with backup test (#1610) --- xmtp_mls/src/groups/device_sync/backup.rs | 11 +++++++---- .../device_sync/backup/export_stream/message_save.rs | 6 +++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/xmtp_mls/src/groups/device_sync/backup.rs b/xmtp_mls/src/groups/device_sync/backup.rs index 9534dbb84..31eace223 100644 --- a/xmtp_mls/src/groups/device_sync/backup.rs +++ b/xmtp_mls/src/groups/device_sync/backup.rs @@ -165,8 +165,11 @@ mod tests { #[tokio::test] #[cfg(not(target_arch = "wasm32"))] async fn test_file_backup() { + use crate::utils::HISTORY_SYNC_URL; + let alix_wallet = generate_local_wallet(); - let alix = ClientBuilder::new_test_client(&alix_wallet).await; + let alix = + ClientBuilder::new_test_client_with_history(&alix_wallet, HISTORY_SYNC_URL).await; let alix_provider = Arc::new(alix.mls_provider().unwrap()); let bo_wallet = generate_local_wallet(); @@ -192,14 +195,14 @@ mod tests { .conn_ref() .raw_query_read(|conn| groups::table.load(conn)) .unwrap(); - assert_eq!(groups.len(), 1); + assert_eq!(groups.len(), 2); let old_group = groups.pop().unwrap(); let old_messages: Vec = alix_provider .conn_ref() .raw_query_read(|conn| group_messages::table.load(conn)) .unwrap(); - assert_eq!(old_messages.len(), 2); + assert_eq!(old_messages.len(), 6); let opts = BackupOptions { start_ns: None, @@ -212,7 +215,7 @@ mod tests { let key = vec![7; 32]; let mut exporter = BackupExporter::new(opts, &alix_provider, &key); - let path = Path::new("archive.zstd"); + let path = Path::new("archive.xmtp"); let _ = std::fs::remove_file(path); exporter.write_to_file(path).await.unwrap(); diff --git a/xmtp_mls/src/groups/device_sync/backup/export_stream/message_save.rs b/xmtp_mls/src/groups/device_sync/backup/export_stream/message_save.rs index 7aed0c145..7d1da4cd2 100644 --- a/xmtp_mls/src/groups/device_sync/backup/export_stream/message_save.rs +++ b/xmtp_mls/src/groups/device_sync/backup/export_stream/message_save.rs @@ -1,7 +1,8 @@ use super::*; use crate::storage::{ + group::ConversationType, group_message::{ContentType, DeliveryStatus, GroupMessageKind, StoredGroupMessage}, - schema::group_messages, + schema::{group_messages, groups}, }; use diesel::prelude::*; use xmtp_id::associations::DeserializationError; @@ -17,7 +18,10 @@ impl BackupRecordProvider for GroupMessageSave { Self: Sized, { let mut query = group_messages::table + .left_join(groups::table) + .filter(groups::conversation_type.ne(ConversationType::Sync)) .filter(group_messages::kind.eq(GroupMessageKind::Application)) + .select(group_messages::all_columns) .order_by(group_messages::id) .into_boxed();