From 0b7ee402ff8649d0cf31b80d36724ed9e8510b30 Mon Sep 17 00:00:00 2001 From: Bartosz Sypytkowski Date: Mon, 21 Oct 2024 06:41:15 +0200 Subject: [PATCH] chore: turn off separate appflowy history process --- script/run_local_server.sh | 2 +- .../src/group/group_init.rs | 25 +++++++++++++------ xtask/src/main.rs | 14 ----------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/script/run_local_server.sh b/script/run_local_server.sh index 10a87c5e..a56b2f03 100755 --- a/script/run_local_server.sh +++ b/script/run_local_server.sh @@ -53,7 +53,7 @@ then cargo sqlx prepare --workspace fi -cargo run --package xtask +cargo run --release --package xtask # revert to require signup email verification export GOTRUE_MAILER_AUTOCONFIRM=false diff --git a/services/appflowy-collaborate/src/group/group_init.rs b/services/appflowy-collaborate/src/group/group_init.rs index dcf4f6b3..0292e8ee 100644 --- a/services/appflowy-collaborate/src/group/group_init.rs +++ b/services/appflowy-collaborate/src/group/group_init.rs @@ -903,7 +903,15 @@ impl CollabPersister { async fn load_internal(&self, skip_gc: bool) -> Result { // 1. Try to load the latest snapshot from storage - let mut collab = self.load_collab_full(skip_gc).await?; + let mut collab = match self.load_collab_full(skip_gc).await? { + Some(collab) => collab, + None => Collab::new_with_origin( + CollabOrigin::Server, + self.object_id.clone(), + vec![], + skip_gc, + ), + }; // 2. consume all Redis updates on top of it (keep redis msg id) let mut last_message_id = None; @@ -1062,7 +1070,7 @@ impl CollabPersister { } } - async fn load_collab_full(&self, keep_history: bool) -> Result { + async fn load_collab_full(&self, keep_history: bool) -> Result, RealtimeError> { let doc_state = if keep_history { // if we want history-keeping variant, we need to get a snapshot let snapshot = self @@ -1090,12 +1098,15 @@ impl CollabPersister { self.collab_type.clone(), self.workspace_id.clone(), ); - self + let result = self .storage .get_encode_collab(GetCollabOrigin::Server, params, false) - .await - .map_err(|err| RealtimeError::Internal(err.into()))? - .doc_state + .await; + match result { + Ok(encoded_collab) => encoded_collab.doc_state, + Err(AppError::RecordNotFound(_)) => return Ok(None), + Err(err) => return Err(RealtimeError::Internal(err.into())), + } }, }; @@ -1106,7 +1117,7 @@ impl CollabPersister { vec![], keep_history, // should we use history-remembering version (true) or lightweight one (false)? )?; - Ok(collab) + Ok(Some(collab)) } } diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 9b6a72d6..7feb0a66 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -24,17 +24,6 @@ async fn main() -> Result<()> { .spawn() .context("Failed to start AppFlowy-Cloud process")?; - let mut appflowy_history_cmd = Command::new("cargo") - .args([ - "run", - // "--features", - // "verbose_log", - "--manifest-path", - "./services/appflowy-history/Cargo.toml", - ]) - .spawn() - .context("Failed to start AppFlowy-History process")?; - let mut appflowy_worker_cmd = Command::new("cargo") .args([ "run", @@ -48,9 +37,6 @@ async fn main() -> Result<()> { status = appflowy_cloud_cmd.wait() => { handle_process_exit(status?, appflowy_cloud_bin_name)?; }, - status = appflowy_history_cmd.wait() => { - handle_process_exit(status?, history)?; - } status = appflowy_worker_cmd.wait() => { handle_process_exit(status?, worker)?; }