diff --git a/CHANGELOG.md b/CHANGELOG.md index adb754bf5..220111d98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### Metro 2.0 UI - Added UI Settings modal and fixed height media previews setting ([f2467e71](https://github.com/pixelfed/pixelfed/commit/f2467e71)) +- Set max-width of 1440px for larger screens ([af68872a](https://github.com/pixelfed/pixelfed/commit/af68872a)) ### Added - Manual email verification requests. ([bc659387](https://github.com/pixelfed/pixelfed/commit/bc659387)) @@ -68,7 +69,8 @@ - Updated Webfinger, fixes #3050. ([ff7ee3bd](https://github.com/pixelfed/pixelfed/commit/ff7ee3bd)) - Updated status api, autolink caption before returning response. ([b00a453b](https://github.com/pixelfed/pixelfed/commit/b00a453b)) - Updated Timeline, add new ui promo in timelines that can be hidden using localstorage. ([e13959ae](https://github.com/pixelfed/pixelfed/commit/e13959ae)) -- Update FederationController, increase webfinger cache ttl from 12 hours to 14 days. ([745c3580](https://github.com/pixelfed/pixelfed/commit/745c3580)) +- Updated FederationController, increase webfinger cache ttl from 12 hours to 14 days. ([745c3580](https://github.com/pixelfed/pixelfed/commit/745c3580)) +- Updated DiscoverController, add yearly option and increase limit from 15 to 30 posts. ([10b6058c](https://github.com/pixelfed/pixelfed/commit/10b6058c)) - ([](https://github.com/pixelfed/pixelfed/commit/)) ## [v0.11.1 (2021-09-07)](https://github.com/pixelfed/pixelfed/compare/v0.11.0...v0.11.1) diff --git a/app/Http/Controllers/DiscoverController.php b/app/Http/Controllers/DiscoverController.php index 7b0a6d731..659b06707 100644 --- a/app/Http/Controllers/DiscoverController.php +++ b/app/Http/Controllers/DiscoverController.php @@ -117,18 +117,22 @@ class DiscoverController extends Controller abort_if(config('instance.discover.public') == false && !Auth::check(), 403); $this->validate($request, [ - 'range' => 'nullable|string|in:daily,monthly' + 'range' => 'nullable|string|in:daily,monthly,yearly', ]); - $range = $request->input('range') == 'monthly' ? 31 : 1; + $range = $request->input('range'); + $days = $range == 'monthly' ? 31 : ($range == 'daily' ? 1 : 365); + $ttls = [ + 1 => 1500, + 31 => 14400, + 365 => 86400 + ]; + $key = ':api:discover:trending:v2.12:range:' . $days; - $key = ':api:discover:trending:v2.8:range:' . $range; - $ttl = now()->addMinutes(15); - - $ids = Cache::remember($key, $ttl, function() use($range) { - $days = $range == 1 ? 2 : 31; + $ids = Cache::remember($key, $ttls[$days], function() use($days) { $min_id = SnowflakeService::byDate(now()->subDays($days)); - return Status::select( + return DB::table('statuses') + ->select( 'id', 'scope', 'type', @@ -146,7 +150,7 @@ class DiscoverController extends Controller ]) ->whereIsNsfw(false) ->orderBy('likes_count','desc') - ->take(15) + ->take(30) ->pluck('id'); }); @@ -155,7 +159,10 @@ class DiscoverController extends Controller $res = $ids->map(function($s) { return StatusService::get($s); })->filter(function($s) use($filtered) { - return $s && !in_array($s['account']['id'], $filtered); + return + $s && + !in_array($s['account']['id'], $filtered) && + isset($s['account']); })->values(); return response()->json($res); diff --git a/public/js/spa.js b/public/js/spa.js index 9ca951b4b..4a5e0690f 100644 Binary files a/public/js/spa.js and b/public/js/spa.js differ diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 60440f595..85bcfb962 100644 Binary files a/public/mix-manifest.json and b/public/mix-manifest.json differ