feat: ability to load remote post data in a topic

This commit is contained in:
Julian Lam
2024-01-10 20:52:28 -05:00
parent 2bd9e9847d
commit 3ce84b39bc
3 changed files with 18 additions and 6 deletions

View File

@@ -8,6 +8,7 @@ const _ = require('lodash');
const meta = require('../meta');
const plugins = require('../plugins');
const activitypub = require('../activitypub');
const translator = require('../translator');
const utils = require('../utils');
@@ -51,7 +52,7 @@ module.exports = function (Posts) {
if (!postData) {
return postData;
}
postData.content = String(postData.content || '');
postData.content = String(postData.sourceContent || postData.content || '');
const cache = require('./cache');
const pid = String(postData.pid);
const cachedContent = cache.get(pid);
@@ -60,12 +61,14 @@ module.exports = function (Posts) {
return postData;
}
const data = await plugins.hooks.fire('filter:parse.post', { postData: postData });
data.postData.content = translator.escape(data.postData.content);
if (data.postData.pid) {
cache.set(pid, data.postData.content);
if (!activitypub.helpers.isUri(postData.pid) || postData.hasOwnProperty('sourceContent')) {
({ postData } = await plugins.hooks.fire('filter:parse.post', { postData }));
}
return data.postData;
postData.content = translator.escape(postData.content);
if (postData.pid) {
cache.set(pid, postData.content);
}
return postData;
};
Posts.parseSignature = async function (userData, uid) {