diff --git a/extensions/tags/extend.php b/extensions/tags/extend.php index 82eeee53e..269643fea 100644 --- a/extensions/tags/extend.php +++ b/extensions/tags/extend.php @@ -16,6 +16,7 @@ use Flarum\Discussion\Filter\DiscussionFilterer; use Flarum\Discussion\Search\DiscussionSearcher; use Flarum\Extend; use Flarum\Flags\Api\Controller\ListFlagsController; +use Flarum\Http\RequestUtil; use Flarum\Tags\Access; use Flarum\Tags\Api\Controller; use Flarum\Tags\Api\Serializer\TagSerializer; @@ -28,6 +29,7 @@ use Flarum\Tags\LoadForumTagsRelationship; use Flarum\Tags\Post\DiscussionTaggedPost; use Flarum\Tags\Query\TagFilterGambit; use Flarum\Tags\Tag; +use Psr\Http\Message\ServerRequestInterface; return [ (new Extend\Frontend('forum')) @@ -71,7 +73,11 @@ return [ (new Extend\ApiController(FlarumController\ListDiscussionsController::class)) ->addInclude(['tags', 'tags.state', 'tags.parent']) - ->load('tags'), + ->loadWhere('tags', function ($query, ?ServerRequestInterface $request, array $relations) { + if ($request && in_array('tags.state', $relations, true)) { + $query->withStateFor(RequestUtil::getActor($request)); + } + }), (new Extend\ApiController(FlarumController\ShowDiscussionController::class)) ->addInclude(['tags', 'tags.state', 'tags.parent']),