diff --git a/Cargo.lock b/Cargo.lock index edc73c7e..b57dab37 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1388,7 +1388,7 @@ dependencies = [ [[package]] name = "collab" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=ba46c5e9e39049c4fedd6f3d67410368874b324f#ba46c5e9e39049c4fedd6f3d67410368874b324f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=0970b2e1440134af7c83bb8fc80cac5d2dedebb7#0970b2e1440134af7c83bb8fc80cac5d2dedebb7" dependencies = [ "anyhow", "async-trait", @@ -1404,6 +1404,7 @@ dependencies = [ "tokio", "tokio-stream", "tracing", + "unicode-segmentation", "web-sys", "yrs", ] @@ -1411,7 +1412,7 @@ dependencies = [ [[package]] name = "collab-document" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=ba46c5e9e39049c4fedd6f3d67410368874b324f#ba46c5e9e39049c4fedd6f3d67410368874b324f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=0970b2e1440134af7c83bb8fc80cac5d2dedebb7#0970b2e1440134af7c83bb8fc80cac5d2dedebb7" dependencies = [ "anyhow", "collab", @@ -1430,7 +1431,7 @@ dependencies = [ [[package]] name = "collab-entity" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=ba46c5e9e39049c4fedd6f3d67410368874b324f#ba46c5e9e39049c4fedd6f3d67410368874b324f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=0970b2e1440134af7c83bb8fc80cac5d2dedebb7#0970b2e1440134af7c83bb8fc80cac5d2dedebb7" dependencies = [ "anyhow", "bytes", @@ -1445,7 +1446,7 @@ dependencies = [ [[package]] name = "collab-folder" version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=ba46c5e9e39049c4fedd6f3d67410368874b324f#ba46c5e9e39049c4fedd6f3d67410368874b324f" +source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=0970b2e1440134af7c83bb8fc80cac5d2dedebb7#0970b2e1440134af7c83bb8fc80cac5d2dedebb7" dependencies = [ "anyhow", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 9fbe0f29..a6af8550 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -177,10 +177,10 @@ inherits = "release" debug = true [patch.crates-io] -collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "ba46c5e9e39049c4fedd6f3d67410368874b324f" } -collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "ba46c5e9e39049c4fedd6f3d67410368874b324f" } -collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "ba46c5e9e39049c4fedd6f3d67410368874b324f" } -collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "ba46c5e9e39049c4fedd6f3d67410368874b324f" } +collab = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "0970b2e1440134af7c83bb8fc80cac5d2dedebb7" } +collab-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "0970b2e1440134af7c83bb8fc80cac5d2dedebb7" } +collab-folder = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "0970b2e1440134af7c83bb8fc80cac5d2dedebb7" } +collab-document = { git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "0970b2e1440134af7c83bb8fc80cac5d2dedebb7" } [features] custom_env= [] diff --git a/libs/client-api/src/collab_sync/sync_control.rs b/libs/client-api/src/collab_sync/sync_control.rs index a7980b11..e52514de 100644 --- a/libs/client-api/src/collab_sync/sync_control.rs +++ b/libs/client-api/src/collab_sync/sync_control.rs @@ -337,8 +337,9 @@ where let is_valid = sink.validate_response(&msg).await; // If there's no payload or the payload is empty, return. if is_valid && !msg.payload().is_empty() { + let msg_origin = msg.origin(); ObserveCollab::::process_payload( - origin, + msg_origin, msg.payload(), &object.object_id, collab, diff --git a/libs/realtime-entity/src/collab_msg.rs b/libs/realtime-entity/src/collab_msg.rs index 7ecfe264..ad89ffb3 100644 --- a/libs/realtime-entity/src/collab_msg.rs +++ b/libs/realtime-entity/src/collab_msg.rs @@ -397,7 +397,7 @@ pub struct UpdateSync { /// ... /// } /// ``` - /// + /// pub payload: Bytes, } @@ -866,6 +866,15 @@ impl ServerCollabMessage { ServerCollabMessage::ServerBroadcast(msg) => msg.payload.len(), } } + + pub fn origin(&self) -> &CollabOrigin { + match self { + ServerCollabMessage::ClientAck(value) => &value.origin, + ServerCollabMessage::ServerInitSync(value) => &value.origin, + ServerCollabMessage::AwarenessSync(value) => &value.origin, + ServerCollabMessage::ServerBroadcast(value) => &value.origin, + } + } } impl Display for ServerCollabMessage { diff --git a/libs/workspace-template/src/lib.rs b/libs/workspace-template/src/lib.rs index 0d459a05..ddbe747b 100644 --- a/libs/workspace-template/src/lib.rs +++ b/libs/workspace-template/src/lib.rs @@ -115,6 +115,7 @@ impl WorkspaceTemplateBuilder { favorites: Default::default(), recent: Default::default(), trash: Default::default(), + private: Default::default(), }; let collab = Arc::new(MutexCollab::new(