diff --git a/src/activitypub/actors/types.rs b/src/activitypub/actors/types.rs index 23659a6..1499369 100644 --- a/src/activitypub/actors/types.rs +++ b/src/activitypub/actors/types.rs @@ -109,6 +109,9 @@ pub struct Actor { #[serde(skip_serializing_if = "Option::is_none")] pub summary: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub also_known_as: Option>, + #[serde(skip_serializing_if = "Option::is_none")] pub attachment: Option>, @@ -295,6 +298,7 @@ pub fn get_local_actor( icon: avatar, image: banner, summary: user.profile.bio.clone(), + also_known_as: None, attachment: Some(attachments), url: Some(actor_id), }; @@ -331,6 +335,7 @@ pub fn get_instance_actor( icon: None, image: None, summary: None, + also_known_as: None, attachment: None, url: None, }; diff --git a/src/activitypub/fetcher/helpers.rs b/src/activitypub/fetcher/helpers.rs index 4c3a86f..62b6695 100644 --- a/src/activitypub/fetcher/helpers.rs +++ b/src/activitypub/fetcher/helpers.rs @@ -69,6 +69,11 @@ async fn create_remote_profile( if actor_address.is_local(&instance.host()) { return Err(ImportError::LocalObject); }; + let maybe_also_known_as = actor.also_known_as.as_ref() + .and_then(|aliases| aliases.first()); + if let Some(ref also_known_as) = maybe_also_known_as { + log::warn!("actor also known as {}", also_known_as); + }; let (maybe_avatar, maybe_banner) = fetch_actor_images( instance, &actor,