aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model/Interaction.php
diff options
context:
space:
mode:
Diffstat (limited to 'Digitigrade/Model/Interaction.php')
-rw-r--r--Digitigrade/Model/Interaction.php12
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 {