diff --git a/src/Api/Controller/ListNotificationsController.php b/src/Api/Controller/ListNotificationsController.php index 284f103b3..f53f3be60 100644 --- a/src/Api/Controller/ListNotificationsController.php +++ b/src/Api/Controller/ListNotificationsController.php @@ -76,6 +76,10 @@ class ListNotificationsController extends AbstractCollectionController $offset = $this->extractOffset($request); $include = $this->extractInclude($request); + if (! in_array('subject', $include)) { + $include[] = 'subject'; + } + $notifications = $this->notifications->findByUser($actor, $limit + 1, $offset) ->load(array_diff($include, ['subject.discussion'])) ->all(); @@ -95,6 +99,10 @@ class ListNotificationsController extends AbstractCollectionController $areMoreResults ? null : 0 ); + $notifications = array_filter($notifications, function ($notification) { + return ! $notification->subjectModel || $notification->subject; + }); + if (in_array('subject.discussion', $include)) { $this->loadSubjectDiscussions($notifications); }