diff --git a/src/Command/CacheLatestArticlesCommand.php b/src/Command/CacheLatestArticlesCommand.php index 42617e0..3ae10f6 100644 --- a/src/Command/CacheLatestArticlesCommand.php +++ b/src/Command/CacheLatestArticlesCommand.php @@ -60,6 +60,10 @@ class CacheLatestArticlesCommand extends Command $collapse->setFieldname('slug'); $query->setCollapse($collapse); + $collapse2 = new Collapse(); + $collapse2->setFieldname('pubkey'); + $query->setCollapse($collapse2); + $articles = $this->finder->find($query); $cacheItem->set($articles); diff --git a/src/Controller/DefaultController.php b/src/Controller/DefaultController.php index 18689f7..305a018 100644 --- a/src/Controller/DefaultController.php +++ b/src/Controller/DefaultController.php @@ -88,6 +88,11 @@ class DefaultController extends AbstractController $collapse->setFieldname('slug'); $query->setCollapse($collapse); + // Use collapse to deduplicate by author + $collapse2 = new Collapse(); + $collapse2->setFieldname('pubkey'); + $query->setCollapse($collapse2); + $articles = $finder->find($query); $cacheItem->set($articles);