mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-22 06:21:27 +00:00
Update StatusActivityPubDeliver, fix addressing
This commit is contained in:
parent
52d076a6bd
commit
1f2183ee67
1 changed files with 25 additions and 0 deletions
|
@ -3,6 +3,7 @@
|
|||
namespace App\Jobs\StatusPipeline;
|
||||
|
||||
use Cache, Log;
|
||||
use App\Profile;
|
||||
use App\Status;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
@ -52,12 +53,36 @@ class StatusActivityPubDeliver implements ShouldQueue
|
|||
$status = $this->status;
|
||||
$profile = $status->profile;
|
||||
|
||||
// ignore group posts
|
||||
// if($status->group_id != null) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
if($status->local == false || $status->url || $status->uri) {
|
||||
return;
|
||||
}
|
||||
|
||||
$audience = $status->profile->getAudienceInbox();
|
||||
|
||||
$parentInbox = [];
|
||||
|
||||
$mentions = $status->mentions
|
||||
->filter(function($f) { return $f->domain !== null;})
|
||||
->values()
|
||||
->map(function($m) { return $m->sharedInbox ?? $m->inbox_url; })
|
||||
->toArray();
|
||||
|
||||
if($status->in_reply_to_profile_id) {
|
||||
$parent = Profile::find($status->in_reply_to_profile_id);
|
||||
if($parent && $parent->domain !== null) {
|
||||
$parentInbox = [
|
||||
$parent->sharedInbox ?? $parent->inbox_url
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$audience = array_values(array_unique(array_merge($audience, $mentions, $parentInbox)));
|
||||
|
||||
if(empty($audience) || !in_array($status->scope, ['public', 'unlisted', 'private'])) {
|
||||
// Return on profiles with no remote followers
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue