summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2023-12-02 19:32:30 +0900
committerGitHub <noreply@github.com>2023-12-02 19:32:30 +0900
commit238e8ce93967c19d48e7b07c55d1faef4e64cb56 (patch)
tree9e5ce9dabf229cfc855d8a9a1708ae659ccdffe8 /packages/backend/src
parentRefine fanout timeline (#12507) (diff)
downloadsharkey-238e8ce93967c19d48e7b07c55d1faef4e64cb56.tar.gz
sharkey-238e8ce93967c19d48e7b07c55d1faef4e64cb56.tar.bz2
sharkey-238e8ce93967c19d48e7b07c55d1faef4e64cb56.zip
fix: Filter featured collection (#12541)
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/core/NotePiningService.ts4
-rw-r--r--packages/backend/src/server/ActivityPubServerService.ts5
2 files changed, 5 insertions, 4 deletions
diff --git a/packages/backend/src/core/NotePiningService.ts b/packages/backend/src/core/NotePiningService.ts
index 52abb4c2a1..74e53c5c46 100644
--- a/packages/backend/src/core/NotePiningService.ts
+++ b/packages/backend/src/core/NotePiningService.ts
@@ -77,7 +77,7 @@ export class NotePiningService {
} as MiUserNotePining);
// Deliver to remote followers
- if (this.userEntityService.isLocalUser(user)) {
+ if (this.userEntityService.isLocalUser(user) && !note.localOnly && ['public', 'home'].includes(note.visibility)) {
this.deliverPinnedChange(user.id, note.id, true);
}
}
@@ -105,7 +105,7 @@ export class NotePiningService {
});
// Deliver to remote followers
- if (this.userEntityService.isLocalUser(user)) {
+ if (this.userEntityService.isLocalUser(user) && !note.localOnly && ['public', 'home'].includes(note.visibility)) {
this.deliverPinnedChange(user.id, noteId, false);
}
}
diff --git a/packages/backend/src/server/ActivityPubServerService.ts b/packages/backend/src/server/ActivityPubServerService.ts
index 2c9e2cf24f..78d2daa403 100644
--- a/packages/backend/src/server/ActivityPubServerService.ts
+++ b/packages/backend/src/server/ActivityPubServerService.ts
@@ -370,8 +370,9 @@ export class ActivityPubServerService {
order: { id: 'DESC' },
});
- const pinnedNotes = await Promise.all(pinings.map(pining =>
- this.notesRepository.findOneByOrFail({ id: pining.noteId })));
+ const pinnedNotes = (await Promise.all(pinings.map(pining =>
+ this.notesRepository.findOneByOrFail({ id: pining.noteId }))))
+ .filter(note => !note.localOnly && ['public', 'home'].includes(note.visibility));
const renderedNotes = await Promise.all(pinnedNotes.map(note => this.apRendererService.renderNote(note)));