Merge pull request #5195 from pixelfed/staging

Fix BeagleService
This commit is contained in:
daniel 2024-06-30 23:30:29 -06:00 committed by GitHub
commit 6dc2c5fd8f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -16,6 +16,8 @@ class BeagleService
const DISCOVER_CACHE_KEY = 'pf:services:beagle:discover:v1';
const DISCOVER_POSTS_CACHE_KEY = 'pf:services:beagle:discover-posts:v1';
public static function getDefaultRules()
{
return Cache::remember(self::DEFAULT_RULES_CACHE_KEY, now()->addDays(7), function () {
@ -82,27 +84,36 @@ class BeagleService
public static function getDiscoverPosts()
{
$posts = collect(self::getDiscover())
->filter(function ($post) {
$bannedInstances = InstanceService::getBannedDomains();
$domain = parse_url($post['id'], PHP_URL_HOST);
return Cache::remember(self::DISCOVER_POSTS_CACHE_KEY, now()->addHours(1), function () {
$posts = collect(self::getDiscover())
->filter(function ($post) {
$bannedInstances = InstanceService::getBannedDomains();
$domain = parse_url($post['id'], PHP_URL_HOST);
return ! in_array($domain, $bannedInstances);
})
->map(function ($post) {
$domain = parse_url($post['id'], PHP_URL_HOST);
if ($domain === config_cache('pixelfed.domain.app')) {
$parts = explode('/', $post['id']);
$id = array_last($parts);
return ! in_array($domain, $bannedInstances);
})
->map(function ($post) {
$domain = parse_url($post['id'], PHP_URL_HOST);
if ($domain === config_cache('pixelfed.domain.app')) {
$parts = explode('/', $post['id']);
$id = array_last($parts);
return StatusService::get($id);
}
$post = Helpers::statusFetch($post['id']);
if (! $post) {
return;
}
$id = $post->id;
return StatusService::get($id);
}
})
->filter()
->values()
->toArray();
return Helpers::statusFetch($post['id']);
})
->values()
->toArray();
return $posts;
return $posts;
});
}
}