Merge pull request #4897 from pixelfed/staging

Staging
This commit is contained in:
daniel 2024-02-04 07:20:53 -07:00 committed by GitHub
commit 111ba70473
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 58 additions and 43 deletions

View file

@ -96,6 +96,8 @@
- Update AP helpers, more efficently update post count ([7caed381](https://github.com/pixelfed/pixelfed/commit/7caed381))
- Update AP helpers, refactor post count decrement logic ([b81ae577](https://github.com/pixelfed/pixelfed/commit/b81ae577))
- Update AP helpers, fix sensitive bug ([00ed330c](https://github.com/pixelfed/pixelfed/commit/00ed330c))
- Update NotificationEpochUpdatePipeline, use more efficient query ([4d401389](https://github.com/pixelfed/pixelfed/commit/4d401389))
- Update notification pipelines, fix non-local saving ([fa97a1f3](https://github.com/pixelfed/pixelfed/commit/fa97a1f3))
- ([](https://github.com/pixelfed/pixelfed/commit/))
## [v0.11.9 (2023-08-21)](https://github.com/pixelfed/pixelfed/compare/v0.11.8...v0.11.9)

View file

@ -91,19 +91,21 @@ class CommentPipeline implements ShouldQueue
return;
}
DB::transaction(function() use($target, $actor, $comment) {
$notification = new Notification();
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'comment';
$notification->item_id = $comment->id;
$notification->item_type = "App\Status";
$notification->save();
if($target->user_id && $target->domain === null) {
DB::transaction(function() use($target, $actor, $comment) {
$notification = new Notification();
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'comment';
$notification->item_id = $comment->id;
$notification->item_type = "App\Status";
$notification->save();
NotificationService::setNotification($notification);
NotificationService::set($notification->profile_id, $notification->id);
StatusService::del($comment->id);
});
NotificationService::setNotification($notification);
NotificationService::set($notification->profile_id, $notification->id);
StatusService::del($comment->id);
});
}
if($exists = Cache::get('status:replies:all:' . $status->id)) {
if($exists && $exists->count() == 3) {

View file

@ -72,16 +72,18 @@ class FollowPipeline implements ShouldQueue
$target->save();
AccountService::del($target->id);
try {
$notification = new Notification();
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'follow';
$notification->item_id = $target->id;
$notification->item_type = "App\Profile";
$notification->save();
} catch (Exception $e) {
Log::error($e);
if($target->user_id && $target->domain === null) {
try {
$notification = new Notification();
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'follow';
$notification->item_id = $target->id;
$notification->item_type = "App\Profile";
$notification->save();
} catch (Exception $e) {
Log::error($e);
}
}
}
}

View file

@ -61,7 +61,12 @@ class NotificationEpochUpdatePipeline implements ShouldQueue, ShouldBeUniqueUnti
*/
public function handle(): void
{
$rec = Notification::where('created_at', '>', now()->subMonths(6))->first();
$pid = Cache::get(NotificationService::EPOCH_CACHE_KEY . '6');
if($pid && $pid > 1) {
$rec = Notification::where('id', '>', $pid)->whereDate('created_at', now()->subMonths(6)->format('Y-m-d'))->first();
} else {
$rec = Notification::whereDate('created_at', now()->subMonths(6)->format('Y-m-d'))->first();
}
$id = 1;
if($rec) {
$id = $rec->id;

View file

@ -79,16 +79,18 @@ class LikePipeline implements ShouldQueue
return true;
}
try {
$notification = new Notification();
$notification->profile_id = $status->profile_id;
$notification->actor_id = $actor->id;
$notification->action = 'like';
$notification->item_id = $status->id;
$notification->item_type = "App\Status";
$notification->save();
if($status->uri === null && $status->object_url === null && $status->url === null) {
try {
$notification = new Notification();
$notification->profile_id = $status->profile_id;
$notification->actor_id = $actor->id;
$notification->action = 'like';
$notification->item_id = $status->id;
$notification->item_type = "App\Status";
$notification->save();
} catch (Exception $e) {
} catch (Exception $e) {
}
}
}

View file

@ -87,18 +87,20 @@ class StatusReplyPipeline implements ShouldQueue
Cache::forget('status:replies:all:' . $reply->id);
Cache::forget('status:replies:all:' . $status->id);
DB::transaction(function() use($target, $actor, $status) {
$notification = new Notification();
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'comment';
$notification->item_id = $status->id;
$notification->item_type = "App\Status";
$notification->save();
if($target->user_id && $target->domain === null) {
DB::transaction(function() use($target, $actor, $status) {
$notification = new Notification();
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'comment';
$notification->item_id = $status->id;
$notification->item_type = "App\Status";
$notification->save();
NotificationService::setNotification($notification);
NotificationService::set($notification->profile_id, $notification->id);
});
NotificationService::setNotification($notification);
NotificationService::set($notification->profile_id, $notification->id);
});
}
if($exists = Cache::get('status:replies:all:' . $reply->id)) {
if($exists && $exists->count() == 3) {