summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Db/SocialLimitsQueryBuilder.php4
-rw-r--r--lib/Db/StreamRequest.php3
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Db/SocialLimitsQueryBuilder.php b/lib/Db/SocialLimitsQueryBuilder.php
index d3249fc7..d3a4ff47 100644
--- a/lib/Db/SocialLimitsQueryBuilder.php
+++ b/lib/Db/SocialLimitsQueryBuilder.php
@@ -408,7 +408,9 @@ class SocialLimitsQueryBuilder extends SocialCrossQueryBuilder {
$andX = $expr->andX();
$andX->add($expr->eq($alias . '.stream_id', $this->getDefaultSelectAlias() . '.id_prim'));
- $andX->add($this->exprLimitToDBField('actor_id', $this->prim($actorId), true, true, $alias));
+ if ($actorId) {
+ $andX->add($this->exprLimitToDBField('actor_id', $this->prim($actorId), true, true, $alias));
+ }
$andX->add($this->exprLimitToDBField('type', $type, true, true, $alias));
if ($subType !== '') {
diff --git a/lib/Db/StreamRequest.php b/lib/Db/StreamRequest.php
index 1e40fbdb..f9d86249 100644
--- a/lib/Db/StreamRequest.php
+++ b/lib/Db/StreamRequest.php
@@ -489,7 +489,8 @@ class StreamRequest extends StreamRequestBuilder {
$qb->selectDestFollowing('sd', '');
$qb->innerJoinSteamDest('recipient', 'id_prim', 'sd', 's');
- $qb->limitToDest(ACore::CONTEXT_PUBLIC, 'recipient', '', 'sd');
+ $accountIsViewer = ($qb->hasViewer()) ? ($qb->getViewer()->getId() === $actorId) : false;
+ $qb->limitToDest($accountIsViewer ? '' : ACore::CONTEXT_PUBLIC, 'recipient', '', 'sd');
$qb->linkToCacheActors('ca', 's.attributed_to_prim');
$qb->leftJoinStreamAction();