fix: urls in posts and announces

This commit is contained in:
Julian Lam
2024-02-07 14:29:47 -05:00
parent a61e7fe79b
commit 4fb6574cf7
2 changed files with 11 additions and 3 deletions

View File

@@ -25,6 +25,7 @@ module.exports = function (utils, Benchpress, relative_path) {
userAgentIcons,
buildAvatar,
increment,
generatePostUrl,
generateRepliedTo,
generateWrote,
isoTimeToLocaleString,
@@ -329,18 +330,24 @@ module.exports = function (utils, Benchpress, relative_path) {
return String(value + parseInt(inc, 10));
}
function generatePostUrl(post, property = 'pid') {
return utils.isNumber(post[property]) ? `${relative_path}/post/${post[property]}` : post[property];
}
function generateRepliedTo(post, timeagoCutoff) {
const displayname = post.parent && post.parent.displayname ?
post.parent.displayname : '[[global:guest]]';
const isBeforeCutoff = post.timestamp < (Date.now() - (timeagoCutoff * oneDayInMs));
const langSuffix = isBeforeCutoff ? 'on' : 'ago';
return `[[topic:replied-to-user-${langSuffix}, ${post.toPid}, ${relative_path}/post/${post.toPid}, ${displayname}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
const url = generatePostUrl(post, 'toPid');
return `[[topic:replied-to-user-${langSuffix}, ${post.toPid}, ${url}, ${displayname}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
}
function generateWrote(post, timeagoCutoff) {
const isBeforeCutoff = post.timestamp < (Date.now() - (timeagoCutoff * oneDayInMs));
const langSuffix = isBeforeCutoff ? 'on' : 'ago';
return `[[topic:wrote-${langSuffix}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
const url = generatePostUrl(post);
return `[[topic:wrote-${langSuffix}, ${url}, ${post.timestampISO}]]`;
}
function isoTimeToLocaleString(isoTime, locale = 'en-GB') {

View File

@@ -8,6 +8,7 @@ const user = require('../user');
const posts = require('../posts');
const topics = require('../topics');
const categories = require('../categories');
const utils = require('../utils');
const activitypub = require('.');
const helpers = require('./helpers');
@@ -115,7 +116,7 @@ inbox.announce = async (req) => {
await topics.events.log(tid, {
type: 'announce',
uid: actor,
href: `/post/${pid}`,
href: utils.isNumber(pid) ? `/post/${pid}` : pid,
pid,
timestamp,
});