diff --git a/crates/adapters/activitypub-base/src/service.rs b/crates/adapters/activitypub-base/src/service.rs index 4f64a84..81e07f0 100644 --- a/crates/adapters/activitypub-base/src/service.rs +++ b/crates/adapters/activitypub-base/src/service.rs @@ -1382,9 +1382,12 @@ impl domain::ports::FederationActionPort for ActivityPubService { domain::errors::DomainError::ExternalService(e.to_string()) })?; + let domain_str = actor.ap_id.host_str().unwrap_or(""); + let full_handle = format!("{}@{}", actor.username, domain_str); + Ok(domain::models::remote_actor::RemoteActor { url: actor.ap_id.to_string(), - handle: actor.username.clone(), + handle: full_handle, display_name: Some(actor.username.clone()), inbox_url: actor.inbox_url.to_string(), shared_inbox_url: None, @@ -1403,6 +1406,15 @@ impl domain::ports::FederationActionPort for ActivityPubService { .await .map_err(|e| domain::errors::DomainError::ExternalService(e.to_string())) } + + async fn actor_json( + &self, + user_id: &domain::value_objects::UserId, + ) -> Result { + ActivityPubService::actor_json(self, &user_id.as_uuid().to_string()) + .await + .map_err(|e| domain::errors::DomainError::ExternalService(e.to_string())) + } } #[cfg(test)]