From 6105507200231e67ba544c12aa10b988e1c23826 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 31 Oct 2026 19:53:27 +0100 Subject: use Automerge as Document instead of AutoCommit This allows a lot of operations to drop mut. --- src/swarm/blob.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/swarm/blob.rs') diff --git a/src/swarm/blob.rs b/src/swarm/blob.rs index a136217..3f66d50 100644 --- a/src/swarm/blob.rs +++ b/src/swarm/blob.rs @@ -217,7 +217,7 @@ async fn prepare(state: &AppState, id: BlobId, delta: Option) -> Opti let spec = delta.filter(|spec| spec.id() == delta_id)?; let doc = Arc::clone(&state.doc); tokio::task::spawn_blocking(move || { - changes::delta_bytes(&mut doc.blocking_write().doc, &spec.from, &spec.to) + changes::delta_bytes(&doc.blocking_read().doc, &spec.from, &spec.to) }) .await .ok() @@ -226,9 +226,8 @@ async fn prepare(state: &AppState, id: BlobId, delta: Option) -> Opti } BlobId::Change(hash) => { let doc = Arc::clone(&state.doc); - // Looking a change up needs the document mutably. tokio::task::spawn_blocking(move || { - changes::change_bytes(&mut doc.blocking_write().doc, &hash) + changes::change_bytes(&doc.blocking_read().doc, &hash) }) .await .ok() -- cgit v1.3.1