Issue 11513: Non public replies on public posts should now work

This commit is contained in:
Michael 2023-03-23 22:25:48 +00:00
parent 60c6ab08c1
commit df6cda8a4d
5 changed files with 27 additions and 16 deletions

View file

@ -1085,14 +1085,6 @@ class Receiver
$reply[] = $object_id;
}
if (!empty($reply)) {
$parents = Post::select(['uid'], DBA::mergeConditions(['uri' => $reply], ["`uid` != ?", 0]));
while ($parent = Post::fetch($parents)) {
$receivers[$parent['uid']] = ['uid' => $parent['uid'], 'type' => self::TARGET_ANSWER];
}
DBA::close($parents);
}
if (!empty($actor)) {
$profile = APContact::getByURL($actor);
$followers = $profile['followers'] ?? '';
@ -1178,6 +1170,14 @@ class Receiver
}
}
if (!empty($reply) && (!empty($receivers[0]) || !empty($receivers[-1]))) {
$parents = Post::select(['uid'], DBA::mergeConditions(['uri' => $reply], ["`uid` != ?", 0]));
while ($parent = Post::fetch($parents)) {
$receivers[$parent['uid']] = ['uid' => $parent['uid'], 'type' => self::TARGET_ANSWER];
}
DBA::close($parents);
}
self::switchContacts($receivers, $actor);
// "birdsitelive" is a service that mirrors tweets into the fediverse