Update DiscoverController, improve tag feed perf

This commit is contained in:
Daniel Supernault 2022-03-31 01:31:03 -06:00
parent 9d54550741
commit d8ff40ebf9
No known key found for this signature in database
GPG Key ID: 0DEF1C662C9033F7
2 changed files with 9 additions and 3 deletions

View File

@ -96,8 +96,12 @@ class DiscoverController extends Controller
})
->values();
} else {
if($page != 1) {
$res['tags'] = [];
return $res;
}
$key = 'discover:tags:public_feed:' . $hashtag->id . ':page:' . $page;
$tags = Cache::remember($key, 900, function() use($hashtag, $page, $end) {
$tags = Cache::remember($key, 43200, function() use($hashtag, $page, $end) {
return collect(StatusHashtagService::get($hashtag->id, $page, $end))
->filter(function($tag) {
if(!$tag['status']['local']) {

View File

@ -26,7 +26,6 @@ class StatusHashtagService {
return StatusHashtag::whereHashtagId($id)
->whereStatusVisibility('public')
->whereHas('media')
->skip($stop)
->latest()
->take(9)
@ -35,7 +34,10 @@ class StatusHashtagService {
return self::getStatus($i, $id);
})
->filter(function ($i) use($filtered) {
return isset($i['status']) && !empty($i['status']) && !in_array($i['status']['account']['id'], $filtered);
return isset($i['status']) &&
!empty($i['status']) && !in_array($i['status']['account']['id'], $filtered) &&
isset($i['status']['media_attachments']) &&
!empty($i['status']['media_attachments']);
})
->values();
}