From 0128a21ec55dcc0a2fbf4081dadb4c4737735ba1 Mon Sep 17 00:00:00 2001 From: Yassine Doghri <yassine@doghri.fr> Date: Thu, 3 Feb 2022 12:11:01 +0000 Subject: [PATCH] fix(activitypub): add target_actor_id for create activity to broadcast post reply --- .../Fediverse/Controllers/SchedulerController.php | 14 ++++++++------ modules/Fediverse/Models/PostModel.php | 2 +- modules/Fediverse/Objects/NoteObject.php | 2 ++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/modules/Fediverse/Controllers/SchedulerController.php b/modules/Fediverse/Controllers/SchedulerController.php index 3f723fa997..9be4db346d 100644 --- a/modules/Fediverse/Controllers/SchedulerController.php +++ b/modules/Fediverse/Controllers/SchedulerController.php @@ -28,12 +28,14 @@ class SchedulerController extends Controller // Send activity to all followers foreach ($scheduledActivities as $scheduledActivity) { if ($scheduledActivity->target_actor_id !== null) { - // send activity to targeted actor - send_activity_to_actor( - $scheduledActivity->actor, - $scheduledActivity->targetActor, - json_encode($scheduledActivity->payload, JSON_THROW_ON_ERROR) - ); + if ($scheduledActivity->actor_id !== $scheduledActivity->target_actor_id) { + // send activity to targeted actor + send_activity_to_actor( + $scheduledActivity->actor, + $scheduledActivity->targetActor, + json_encode($scheduledActivity->payload, JSON_THROW_ON_ERROR) + ); + } } else { // send activity to all actor followers send_activity_to_followers( diff --git a/modules/Fediverse/Models/PostModel.php b/modules/Fediverse/Models/PostModel.php index dc6c07a70f..41540f8074 100644 --- a/modules/Fediverse/Models/PostModel.php +++ b/modules/Fediverse/Models/PostModel.php @@ -299,7 +299,7 @@ class PostModel extends BaseUuidModel ->newActivity( 'Create', $post->actor_id, - null, + $post->in_reply_to_id === null ? null : $post->reply_to_post->actor_id, $newPostId, $createActivity->toJSON(), $post->published_at, diff --git a/modules/Fediverse/Objects/NoteObject.php b/modules/Fediverse/Objects/NoteObject.php index eee250d344..e9da65d614 100644 --- a/modules/Fediverse/Objects/NoteObject.php +++ b/modules/Fediverse/Objects/NoteObject.php @@ -39,6 +39,8 @@ class NoteObject extends ObjectType $this->attributedTo = $post->actor->uri; if ($post->in_reply_to_id !== null) { + $this->to[] = $post->reply_to_post->actor->uri; + $this->inReplyTo = $post->reply_to_post->uri; } -- GitLab