mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-26 06:11:26 +00:00
parent
81aa39ba68
commit
e094989a4c
4 changed files with 22 additions and 8 deletions
|
@ -14,6 +14,7 @@ use lemmy_apub_lib::{
|
|||
};
|
||||
use lemmy_utils::LemmyError;
|
||||
use lemmy_websocket::LemmyContext;
|
||||
use tracing::info;
|
||||
|
||||
#[async_trait::async_trait(?Send)]
|
||||
pub(crate) trait GetCommunity {
|
||||
|
@ -51,6 +52,14 @@ impl AnnounceActivity {
|
|||
context: &LemmyContext,
|
||||
) -> Result<(), LemmyError> {
|
||||
let announce = AnnounceActivity::new(object.clone(), community, context)?;
|
||||
// temporary hack to get activity id of object
|
||||
let object_fields: ActivityCommonFields =
|
||||
serde_json::from_value(serde_json::to_value(&object)?)?;
|
||||
info!(
|
||||
"Announcing activity {} as {}",
|
||||
object_fields.id, announce.id
|
||||
);
|
||||
|
||||
let inboxes = community.get_follower_inboxes(context).await?;
|
||||
send_lemmy_activity(
|
||||
context,
|
||||
|
|
|
@ -26,6 +26,7 @@ use lemmy_db_schema::{
|
|||
};
|
||||
use lemmy_utils::LemmyError;
|
||||
use lemmy_websocket::{send::send_comment_ws_message, LemmyContext, UserOperationCrud};
|
||||
use tracing::info;
|
||||
|
||||
impl CreateOrUpdateComment {
|
||||
#[tracing::instrument(skip(comment, actor, kind, context))]
|
||||
|
@ -50,6 +51,7 @@ impl CreateOrUpdateComment {
|
|||
kind.clone(),
|
||||
&context.settings().get_protocol_and_hostname(),
|
||||
)?;
|
||||
info!("Sending Create/Comment for {} as {}", comment.ap_id, id);
|
||||
let note = comment.into_apub(context).await?;
|
||||
|
||||
let create_or_update = CreateOrUpdateComment {
|
||||
|
|
|
@ -6,6 +6,7 @@ use crate::{
|
|||
objects::{community::ApubCommunity, person::ApubPerson},
|
||||
};
|
||||
use activitystreams_kinds::public;
|
||||
use itertools::Itertools;
|
||||
use lemmy_api_common::blocking;
|
||||
use lemmy_apub_lib::{
|
||||
activity_queue::send_activity,
|
||||
|
@ -170,8 +171,6 @@ async fn send_lemmy_activity<T: Serialize>(
|
|||
}
|
||||
let activity = WithContext::new(activity);
|
||||
|
||||
info!("Sending activity {}", activity_id.to_string());
|
||||
|
||||
// Don't send anything to ourselves
|
||||
// TODO: this should be a debug assert
|
||||
let hostname = context.settings().get_hostname_without_port()?;
|
||||
|
@ -180,6 +179,12 @@ async fn send_lemmy_activity<T: Serialize>(
|
|||
.filter(|i| i.domain().expect("valid inbox url") != hostname)
|
||||
.collect();
|
||||
|
||||
info!(
|
||||
"Sending activity {} to [{}]",
|
||||
activity_id.to_string(),
|
||||
inboxes.iter().join(",")
|
||||
);
|
||||
|
||||
let serialised_activity = serde_json::to_string(&activity)?;
|
||||
|
||||
let object_value = serde_json::to_value(&activity)?;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use crate::{signatures::sign_and_send, traits::ActorType};
|
||||
use anyhow::{anyhow, Context, Error};
|
||||
use anyhow::{Context, Error};
|
||||
use background_jobs::{
|
||||
memory_storage::Storage,
|
||||
ActixJob,
|
||||
|
@ -90,12 +90,10 @@ async fn do_send(task: SendActivityTask, client: &ClientWithMiddleware) -> Resul
|
|||
}
|
||||
}
|
||||
Err(e) => {
|
||||
return Err(anyhow!(
|
||||
warn!(
|
||||
"Failed to send activity {} to {}: {}",
|
||||
&task.activity_id,
|
||||
task.inbox,
|
||||
e
|
||||
));
|
||||
&task.activity_id, task.inbox, e
|
||||
);
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
|
Loading…
Reference in a new issue