Merge pull request #11240 from annando/thread-completion
Avoid thread completion on activities
This commit is contained in:
commit
41f502266e
2 changed files with 18 additions and 5 deletions
|
@ -306,7 +306,7 @@ class Processor
|
||||||
} else {
|
} else {
|
||||||
// Store the original actor in the "causer" fields to enable the check for ignored or blocked contacts
|
// Store the original actor in the "causer" fields to enable the check for ignored or blocked contacts
|
||||||
$item['causer-link'] = $item['owner-link'];
|
$item['causer-link'] = $item['owner-link'];
|
||||||
$item['causer-id'] = $item['owner-id'];
|
$item['causer-id'] = $item['owner-id'];
|
||||||
Logger::info('Use actor as causer.', ['id' => $item['owner-id'], 'actor' => $item['owner-link']]);
|
Logger::info('Use actor as causer.', ['id' => $item['owner-id'], 'actor' => $item['owner-link']]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -642,10 +642,16 @@ class Processor
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!($item['isForum'] ?? false) && ($receiver != 0) && ($item['gravity'] == GRAVITY_PARENT) &&
|
if (!($item['isForum'] ?? false) && ($receiver != 0) && ($item['gravity'] == GRAVITY_PARENT) && !Contact::isSharingByURL($activity['author'], $receiver)) {
|
||||||
($item['post-reason'] == Item::PR_BCC) && !Contact::isSharingByURL($activity['author'], $receiver)) {
|
if ($item['post-reason'] == Item::PR_BCC) {
|
||||||
Logger::info('Top level post via BCC from a non sharer, ignoring', ['uid' => $receiver, 'contact' => $item['contact-id']]);
|
Logger::info('Top level post via BCC from a non sharer, ignoring', ['uid' => $receiver, 'contact' => $item['contact-id']]);
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
if (!empty($activity['thread-children-type']) && in_array($activity['thread-children-type'], Receiver::ACTIVITY_TYPES)) {
|
||||||
|
Logger::info('Top level post from thread completion from a non sharer had been initiated via an activity, ignoring',
|
||||||
|
['type' => $activity['thread-children-type'], 'user' => $item['uid'], 'causer' => $item['causer-link'], 'author' => $activity['author'], 'url' => $item['uri']]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$is_forum = false;
|
$is_forum = false;
|
||||||
|
@ -887,6 +893,10 @@ class Processor
|
||||||
$ldactivity['thread-completion'] = Contact::getIdForURL($actor);
|
$ldactivity['thread-completion'] = Contact::getIdForURL($actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($child['type'])) {
|
||||||
|
$ldactivity['thread-children-type'] = $child['type'];
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($relay_actor) && !self::acceptIncomingMessage($ldactivity, $object['id'])) {
|
if (!empty($relay_actor) && !self::acceptIncomingMessage($ldactivity, $object['id'])) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
|
@ -515,6 +515,9 @@ class Receiver
|
||||||
if (!empty($activity['thread-completion'])) {
|
if (!empty($activity['thread-completion'])) {
|
||||||
$object_data['thread-completion'] = $activity['thread-completion'];
|
$object_data['thread-completion'] = $activity['thread-completion'];
|
||||||
}
|
}
|
||||||
|
if (!empty($activity['thread-children-type'])) {
|
||||||
|
$object_data['thread-children-type'] = $activity['thread-children-type'];
|
||||||
|
}
|
||||||
|
|
||||||
// Internal flag for posts that arrived via relay
|
// Internal flag for posts that arrived via relay
|
||||||
if (!empty($activity['from-relay'])) {
|
if (!empty($activity['from-relay'])) {
|
||||||
|
|
Loading…
Reference in a new issue