diff options
Diffstat (limited to 'Digitigrade/Model/Interaction.php')
| -rw-r--r-- | Digitigrade/Model/Interaction.php | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Digitigrade/Model/Interaction.php b/Digitigrade/Model/Interaction.php index 38065c1..4ca1a0c 100644 --- a/Digitigrade/Model/Interaction.php +++ b/Digitigrade/Model/Interaction.php @@ -48,11 +48,13 @@ class Interaction extends PushableModel { } protected function getRelevantServers(): array { - $instances = array_map(function (Actor $actor) { - return Instance::findByHostname(hostname_from_uri($actor->uri)); - }, $this->author->findFollowers()); - $instances[] = Instance::findByHostname(hostname_from_uri($this->target->uri)); - return $instances; + $instances = array_map( + fn(Actor $actor) => $actor->isLocal ? null : $actor->findHomeInstance(), + $this->author->findFollowers() + ); + if (!$this->target->author->isLocal) + $instances[] = $this->target->author->findHomeInstance(); + return array_unique($instances); } public function jsonSerialize(): array { |
