chore: remove from editing collab param in get encode collab method

This commit is contained in:
Bartosz Sypytkowski 2024-12-14 09:42:15 +01:00
parent dfe780d30c
commit ed07104aeb
7 changed files with 7 additions and 64 deletions

View File

@ -114,7 +114,6 @@ pub trait CollabStorage: Send + Sync + 'static {
&self,
origin: GetCollabOrigin,
params: QueryCollabParams,
from_editing_collab: bool,
) -> AppResult<EncodedCollab>;
async fn batch_get_collab(

View File

@ -131,47 +131,6 @@ where
.await?;
Ok(())
}
async fn get_encode_collab_from_editing(&self, oid: &str) -> Option<EncodedCollab> {
let object_id = oid.to_string();
let (ret, rx) = tokio::sync::oneshot::channel();
let timeout_duration = Duration::from_secs(5);
// Attempt to send the command to the realtime server
if let Err(err) = self
.rt_cmd_sender
.send(CollaborationCommand::GetEncodeCollab { object_id, ret })
.await
{
error!(
"Failed to send get encode collab command to realtime server: {}",
err
);
return None;
}
// Await the response from the realtime server with a timeout
match timeout(timeout_duration, rx).await {
Ok(Ok(Some(encode_collab))) => Some(encode_collab),
Ok(Ok(None)) => {
trace!("Editing collab not found: `{}`", oid);
None
},
Ok(Err(err)) => {
error!(
"Failed to get collab from realtime server `{}`: {}",
oid, err
);
None
},
Err(_) => {
error!(
"Timeout trying to read collab `{}` from realtime server",
oid
);
None
},
}
}
async fn batch_get_encode_collab_from_editing(
&self,
@ -397,12 +356,11 @@ where
}
}
#[instrument(level = "trace", skip_all, fields(oid = %params.object_id, from_editing_collab = %from_editing_collab))]
#[instrument(level = "trace", skip_all, fields(oid = %params.object_id))]
async fn get_encode_collab(
&self,
origin: GetCollabOrigin,
params: QueryCollabParams,
from_editing_collab: bool,
) -> AppResult<EncodedCollab> {
params.validate()?;
match origin {
@ -416,18 +374,6 @@ where
GetCollabOrigin::Server => {},
}
// Early return if editing collab is initialized, as it indicates no need to query further.
if from_editing_collab {
// Attempt to retrieve encoded collab from the editing collab
if let Some(value) = self.get_encode_collab_from_editing(&params.object_id).await {
trace!(
"Did get encode collab {} from editing collab",
params.object_id
);
return Ok(value);
}
}
let encode_collab = self
.cache
.get_encode_collab(&params.workspace_id, params.inner)

View File

@ -1226,7 +1226,7 @@ impl CollabPersister {
);
let result = self
.storage
.get_encode_collab(GetCollabOrigin::Server, params, false)
.get_encode_collab(GetCollabOrigin::Server, params)
.await;
match result {
Ok(encoded_collab) => encoded_collab.doc_state,

View File

@ -121,7 +121,7 @@ where
let params = QueryCollabParams::new(object_id, collab_type.clone(), workspace_id);
let res = self
.storage
.get_encode_collab(GetCollabOrigin::Server, params, false)
.get_encode_collab(GetCollabOrigin::Server, params)
.await;
let state_vector = match res {
Ok(collab) => Collab::new_with_source(
@ -186,7 +186,7 @@ where
S: CollabStorage,
{
let encode_collab = storage
.get_encode_collab(GetCollabOrigin::User { uid }, params.clone(), false)
.get_encode_collab(GetCollabOrigin::User { uid }, params.clone())
.await?;
let result = Collab::new_with_source(
CollabOrigin::Server,

View File

@ -116,7 +116,7 @@ impl IndexerProvider {
match &cid.collab_type {
CollabType::Document => {
let collab = match storage
.get_encode_collab(GetCollabOrigin::Server, cid.clone().into(), false)
.get_encode_collab(GetCollabOrigin::Server, cid.clone().into())
.await {
Ok(collab) => collab,
Err(err) => {

View File

@ -867,7 +867,7 @@ async fn get_collab_handler(
let object_id = params.object_id.clone();
let encode_collab = state
.collab_access_control_storage
.get_encode_collab(GetCollabOrigin::User { uid }, params, true)
.get_encode_collab(GetCollabOrigin::User { uid }, params)
.await
.map_err(AppResponseError::from)?;
@ -903,7 +903,7 @@ async fn v1_get_collab_handler(
let encode_collab = state
.collab_access_control_storage
.get_encode_collab(GetCollabOrigin::User { uid }, param, true)
.get_encode_collab(GetCollabOrigin::User { uid }, param)
.await
.map_err(AppResponseError::from)?;
@ -1188,7 +1188,6 @@ async fn create_collab_snapshot_handler(
.get_encode_collab(
GetCollabOrigin::User { uid },
QueryCollabParams::new(&object_id, collab_type.clone(), &workspace_id),
true,
)
.await?
.doc_state;

View File

@ -224,7 +224,6 @@ pub async fn get_latest_collab_encoded(
collab_type,
},
},
true,
)
.await
}