diff --git a/app/Services/SearchApiV2Service.php b/app/Services/SearchApiV2Service.php index f5703c7e5..64c8303e7 100644 --- a/app/Services/SearchApiV2Service.php +++ b/app/Services/SearchApiV2Service.php @@ -122,11 +122,15 @@ class SearchApiV2Service protected function hashtags() { $mastodonMode = self::$mastodonMode; + $q = $this->query->input('q'); $limit = $this->query->input('limit') ?? 20; $offset = $this->query->input('offset') ?? 0; - $query = $this->query->input('q') . '%'; - return Hashtag::where('can_search', true) - ->where('name', 'like', $query) + $query = Str::startsWith($q, '#') ? substr($q, 1) . '%' : $q . '%'; + return Hashtag::where('name', 'like', $query) + ->where(function($q) { + return $q->where('can_search', true) + ->orWhereNull('can_search'); + }) ->offset($offset) ->limit($limit) ->get()