fix: don't overwrite title if present, on assertTopic

This commit is contained in:
Julian Lam
2024-02-27 15:25:13 -05:00
parent b189427621
commit a3368a6904

View File

@@ -4,6 +4,7 @@ const winston = require('winston');
const crypto = require('crypto'); const crypto = require('crypto');
const db = require('../database'); const db = require('../database');
const meta = require('../meta');
const privileges = require('../privileges'); const privileges = require('../privileges');
const user = require('../user'); const user = require('../user');
const topics = require('../topics'); const topics = require('../topics');
@@ -215,13 +216,13 @@ Notes.assertTopic = async (uid, id) => {
return null; return null;
} }
tid = tid || utils.generateUUID(); let title = tid ? await topics.getTopicField(tid, 'title') : name || utils.decodeHTMLEntities(utils.stripHTMLTags(content));
if (title.length > meta.config.maximumTitleLength) {
let title = name || utils.decodeHTMLEntities(utils.stripHTMLTags(content)); title = `${title.slice(0, meta.config.maximumTitleLength)}...`;
if (title.length > 64) {
title = `${title.slice(0, 64)}...`;
} }
tid = tid || utils.generateUUID();
const unprocessed = chain.filter((p, idx) => !members[idx]); const unprocessed = chain.filter((p, idx) => !members[idx]);
winston.info(`[notes/assertTopic] ${unprocessed.length} new note(s) found.`); winston.info(`[notes/assertTopic] ${unprocessed.length} new note(s) found.`);