summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/QueryService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-06-11 21:15:30 +0000
committerHazelnoot <acomputerdog@gmail.com>2025-06-11 21:15:30 +0000
commit791487c4df6137b945767c08a25b7b4bb2a32269 (patch)
tree856f72c430960622227e56decda2f43f2bd2826c /packages/backend/src/core/QueryService.ts
parentmerge: Fix admin-user / instance-info styling and broken controls (!1106) (diff)
parentenforce DM visibility in notes/mentions (diff)
downloadsharkey-791487c4df6137b945767c08a25b7b4bb2a32269.tar.gz
sharkey-791487c4df6137b945767c08a25b7b4bb2a32269.tar.bz2
sharkey-791487c4df6137b945767c08a25b7b4bb2a32269.zip
merge: Enforce DM visibility in generateVisibilityQuery (!1108)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1108 Approved-by: dakkar <dakkar@thenautilus.net> Approved-by: Marie <github@yuugi.dev>
Diffstat (limited to 'packages/backend/src/core/QueryService.ts')
-rw-r--r--packages/backend/src/core/QueryService.ts16
1 files changed, 9 insertions, 7 deletions
diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts
index 4089fc080c..2d8ea51e65 100644
--- a/packages/backend/src/core/QueryService.ts
+++ b/packages/backend/src/core/QueryService.ts
@@ -157,15 +157,17 @@ export class QueryService {
qb
// My post
.orWhere(':meId = note.userId')
- // Reply to me
- .orWhere(':meId = note.replyUserId')
- // DM to me
+ // Visible to me
.orWhere(':meIdAsList <@ note.visibleUserIds')
- // Mentions me
- .orWhere(':meIdAsList <@ note.mentions')
// Followers-only post
- .orWhere(new Brackets(qb => this
- .andFollowingUser(qb, ':meId', 'note.userId')
+ .orWhere(new Brackets(qb => qb
+ .andWhere(new Brackets(qbb => this
+ // Following author
+ .orFollowingUser(qbb, ':meId', 'note.userId')
+ // Mentions me
+ .orWhere(':meIdAsList <@ note.mentions')
+ // Reply to me
+ .orWhere(':meId = note.replyUserId')))
.andWhere('note.visibility = \'followers\'')));
q.setParameters({ meId: me.id, meIdAsList: [me.id] });