mirror of
https://github.com/LemmyNet/lemmy
synced 2024-11-17 09:25:50 +00:00
minor fix
This commit is contained in:
parent
bfa1e57f71
commit
3f511687d1
@ -8,7 +8,7 @@ use crate::{
|
|||||||
},
|
},
|
||||||
activity_lists::AnnouncableActivities,
|
activity_lists::AnnouncableActivities,
|
||||||
insert_received_activity,
|
insert_received_activity,
|
||||||
objects::{instance::remote_instance_inboxes, person::ApubPerson},
|
objects::person::ApubPerson,
|
||||||
protocol::activities::block::{block_user::BlockUser, undo_block_user::UndoBlockUser},
|
protocol::activities::block::{block_user::BlockUser, undo_block_user::UndoBlockUser},
|
||||||
};
|
};
|
||||||
use activitypub_federation::{
|
use activitypub_federation::{
|
||||||
|
@ -42,8 +42,8 @@ impl Object for SiteOrCommunityOrUser {
|
|||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
async fn read_from_id(
|
async fn read_from_id(
|
||||||
object_id: Url,
|
_object_id: Url,
|
||||||
data: &Data<Self::DataType>,
|
_data: &Data<Self::DataType>,
|
||||||
) -> Result<Option<Self>, LemmyError> {
|
) -> Result<Option<Self>, LemmyError> {
|
||||||
unimplemented!();
|
unimplemented!();
|
||||||
}
|
}
|
||||||
@ -75,7 +75,7 @@ impl Object for SiteOrCommunityOrUser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
async fn from_json(apub: Self::Kind, data: &Data<Self::DataType>) -> Result<Self, LemmyError> {
|
async fn from_json(_apub: Self::Kind, _data: &Data<Self::DataType>) -> Result<Self, LemmyError> {
|
||||||
unimplemented!();
|
unimplemented!();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ use lemmy_db_schema::{
|
|||||||
site::{Site, SiteInsertForm},
|
site::{Site, SiteInsertForm},
|
||||||
},
|
},
|
||||||
traits::Crud,
|
traits::Crud,
|
||||||
utils::{naive_now, DbPool},
|
utils::naive_now,
|
||||||
};
|
};
|
||||||
use lemmy_utils::{
|
use lemmy_utils::{
|
||||||
error::LemmyError,
|
error::LemmyError,
|
||||||
@ -201,16 +201,6 @@ pub(in crate::objects) async fn fetch_instance_actor_for_object<T: Into<Url> + C
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) async fn remote_instance_inboxes(pool: &mut DbPool<'_>) -> Result<Vec<Url>, LemmyError> {
|
|
||||||
Ok(
|
|
||||||
Site::read_remote_sites(pool)
|
|
||||||
.await?
|
|
||||||
.into_iter()
|
|
||||||
.map(|s| ApubSite::from(s).shared_inbox_or_inbox())
|
|
||||||
.collect(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub(crate) mod tests {
|
pub(crate) mod tests {
|
||||||
#![allow(clippy::unwrap_used)]
|
#![allow(clippy::unwrap_used)]
|
||||||
|
@ -113,7 +113,9 @@ mod tests {
|
|||||||
ap_id: ap_id.clone(),
|
ap_id: ap_id.clone(),
|
||||||
data: data.clone(),
|
data: data.clone(),
|
||||||
sensitive,
|
sensitive,
|
||||||
actor_apub_id: Url::parse("http://example.com/u/exampleuser").unwrap(),
|
actor_apub_id: Url::parse("http://example.com/u/exampleuser")
|
||||||
|
.unwrap()
|
||||||
|
.into(),
|
||||||
actor_type: ActorType::Person,
|
actor_type: ActorType::Person,
|
||||||
send_targets: ActivitySendTargets::empty(),
|
send_targets: ActivitySendTargets::empty(),
|
||||||
};
|
};
|
||||||
|
@ -803,7 +803,7 @@ diesel::table! {
|
|||||||
published -> Timestamp,
|
published -> Timestamp,
|
||||||
send_targets -> Jsonb,
|
send_targets -> Jsonb,
|
||||||
actor_type -> ActorTypeEnum,
|
actor_type -> ActorTypeEnum,
|
||||||
actor_apub_id -> Text,
|
actor_apub_id -> Nullable<Text>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ pub struct SentActivity {
|
|||||||
pub published: chrono::NaiveDateTime,
|
pub published: chrono::NaiveDateTime,
|
||||||
pub send_targets: ActivitySendTargets,
|
pub send_targets: ActivitySendTargets,
|
||||||
pub actor_type: ActorType,
|
pub actor_type: ActorType,
|
||||||
pub actor_apub_id: DbUrl,
|
pub actor_apub_id: Option<DbUrl>,
|
||||||
}
|
}
|
||||||
#[derive(Insertable)]
|
#[derive(Insertable)]
|
||||||
#[diesel(table_name = sent_activity)]
|
#[diesel(table_name = sent_activity)]
|
||||||
|
@ -103,7 +103,7 @@ pub async fn get_actor_cached(
|
|||||||
Result::<_, anyhow::Error>::Ok(Arc::new(person))
|
Result::<_, anyhow::Error>::Ok(Arc::new(person))
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.map_err(|e| anyhow::anyhow!("err getting actor: {e}"))
|
.map_err(|e| anyhow::anyhow!("err getting actor: {e:?}"))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// intern urls to reduce memory usage
|
/// intern urls to reduce memory usage
|
||||||
@ -149,7 +149,7 @@ pub async fn get_activity_cached(
|
|||||||
Ok(Some(Arc::new((row, activity_actual))))
|
Ok(Some(Arc::new((row, activity_actual))))
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.map_err(|e| anyhow::anyhow!("err getting activity: {e}"))
|
.map_err(|e| anyhow::anyhow!("err getting activity: {e:?}"))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// return the most current activity id (with 1 second cache)
|
/// return the most current activity id (with 1 second cache)
|
||||||
@ -170,7 +170,7 @@ pub async fn get_latest_activity_id(pool: &mut DbPool<'_>) -> Result<ActivityId>
|
|||||||
anyhow::Result::<_, anyhow::Error>::Ok(latest_id as ActivityId)
|
anyhow::Result::<_, anyhow::Error>::Ok(latest_id as ActivityId)
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.map_err(|e| anyhow::anyhow!("err getting id: {e}"))
|
.map_err(|e| anyhow::anyhow!("err getting id: {e:?}"))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// how long to sleep based on how many retries have already happened
|
/// how long to sleep based on how many retries have already happened
|
||||||
|
@ -93,12 +93,10 @@ pub async fn instance_worker(
|
|||||||
state.last_successful_id = id;
|
state.last_successful_id = id;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
let actor = get_actor_cached(
|
let Some(actor_apub_id) = &activity.actor_apub_id else {
|
||||||
&mut pool,
|
continue; // activity was inserted before persistent queue was activated
|
||||||
activity.actor_type,
|
};
|
||||||
activity.actor_apub_id.deref(),
|
let actor = get_actor_cached(&mut pool, activity.actor_type, actor_apub_id).await?;
|
||||||
)
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
let inbox_urls = inbox_urls.into_iter().map(|e| (*e).clone()).collect();
|
let inbox_urls = inbox_urls.into_iter().map(|e| (*e).clone()).collect();
|
||||||
let requests = prepare_raw(object, actor.as_ref(), inbox_urls, &data)
|
let requests = prepare_raw(object, actor.as_ref(), inbox_urls, &data)
|
||||||
|
@ -4,15 +4,15 @@ CREATE TYPE actor_type_enum AS enum(
|
|||||||
'person'
|
'person'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
-- actor_apub_id only null for old entries
|
||||||
ALTER TABLE sent_activity
|
ALTER TABLE sent_activity
|
||||||
ADD COLUMN send_targets jsonb NOT NULL DEFAULT '{"inboxes": [], "community_followers_of": [], "all_instances": false}',
|
ADD COLUMN send_targets jsonb NOT NULL DEFAULT '{"inboxes": [], "community_followers_of": [], "all_instances": false}',
|
||||||
ADD COLUMN actor_type actor_type_enum NOT NULL DEFAULT 'person',
|
ADD COLUMN actor_type actor_type_enum NOT NULL DEFAULT 'person',
|
||||||
ADD COLUMN actor_apub_id text NOT NULL DEFAULT '';
|
ADD COLUMN actor_apub_id text DEFAULT NULL;
|
||||||
|
|
||||||
ALTER TABLE sent_activity
|
ALTER TABLE sent_activity
|
||||||
ALTER COLUMN send_targets DROP DEFAULT,
|
ALTER COLUMN send_targets DROP DEFAULT,
|
||||||
ALTER COLUMN actor_type DROP DEFAULT,
|
ALTER COLUMN actor_type DROP DEFAULT;
|
||||||
ALTER COLUMN actor_apub_id DROP DEFAULT;
|
|
||||||
|
|
||||||
CREATE TABLE federation_queue_state(
|
CREATE TABLE federation_queue_state(
|
||||||
domain text PRIMARY KEY,
|
domain text PRIMARY KEY,
|
||||||
|
Loading…
Reference in New Issue
Block a user