From c365c1dc3e2aaee822c3f08a309ef6984211bc58 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 26 Nov 2025 12:29:48 -0500 Subject: [PATCH] fix: publish `postingRestrictedToMods` property in group actor --- src/activitypub/mocks.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/activitypub/mocks.js b/src/activitypub/mocks.js index 46a2caaba6..167be79263 100644 --- a/src/activitypub/mocks.js +++ b/src/activitypub/mocks.js @@ -13,6 +13,7 @@ const categories = require('../categories'); const posts = require('../posts'); const topics = require('../topics'); const messaging = require('../messaging'); +const privileges = require('../privileges'); const plugins = require('../plugins'); const slugify = require('../slugify'); const translator = require('../translator'); @@ -524,12 +525,19 @@ Mocks.actors.user = async (uid) => { }; Mocks.actors.category = async (cid) => { - const { - name, handle: preferredUsername, slug, - descriptionParsed: summary, backgroundImage, - } = await categories.getCategoryFields(cid, - ['name', 'handle', 'slug', 'description', 'descriptionParsed', 'backgroundImage']); - const publicKey = await activitypub.getPublicKey('cid', cid); + const [ + { + name, handle: preferredUsername, slug, + descriptionParsed: summary, backgroundImage, + }, + publicKey, + canPost, + ] = await Promise.all([ + categories.getCategoryFields(cid, + ['name', 'handle', 'slug', 'description', 'descriptionParsed', 'backgroundImage']), + activitypub.getPublicKey('cid', cid), + privileges.categories.can('topics:create', cid, -2), + ]); let icon; if (backgroundImage) { @@ -567,6 +575,7 @@ Mocks.actors.category = async (cid) => { summary, // image, // todo once categories have cover photos icon, + postingRestrictedToMods: !canPost, publicKey: { id: `${nconf.get('url')}/category/${cid}#key`,