Add logging to debug federation issues (ref #2096) (#2099)

This commit is contained in:
Nutomic 2022-02-17 18:48:45 +00:00 committed by GitHub
parent 81aa39ba68
commit e094989a4c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 8 deletions

View file

@ -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,

View file

@ -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 {

View file

@ -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)?;

View file

@ -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(())