diff --git a/scripts/benchmark.ts b/scripts/benchmark.ts index c9486eb37..48e740dff 100644 --- a/scripts/benchmark.ts +++ b/scripts/benchmark.ts @@ -215,7 +215,7 @@ async function prepare () { language: 'fr', privacy: VideoPrivacy.PUBLIC, support: 'please give me a coffee', - description: 'my super description'.repeat(10), + description: 'my super description\n'.repeat(10) + ' * list1\n * list 2\n * list 3', tags: [ 'tag1', 'tag2', 'tag3' ] } diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 3069e2353..7bc2877aa 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -718,12 +718,10 @@ const MEMOIZE_TTL = { OVERVIEWS_SAMPLE: 1000 * 3600 * 4, // 4 hours INFO_HASH_EXISTS: 1000 * 3600 * 12, // 12 hours LIVE_ABLE_TO_UPLOAD: 1000 * 60, // 1 minute - LIVE_CHECK_SOCKET_HEALTH: 1000 * 60, // 1 minute - MD_TO_PLAIN_TEXT_CLIENT_HTML: 1000 * 60 // 1 minute + LIVE_CHECK_SOCKET_HEALTH: 1000 * 60 // 1 minute } const MEMOIZE_LENGTH = { - MD_TO_PLAIN_TEXT_CLIENT_HTML: 100, INFO_HASH_EXISTS: 200 } diff --git a/server/lib/client-html.ts b/server/lib/client-html.ts index 945bc712f..0142b248b 100644 --- a/server/lib/client-html.ts +++ b/server/lib/client-html.ts @@ -1,9 +1,9 @@ import express from 'express' import { readFile } from 'fs-extra' -import memoizee from 'memoizee' import { join } from 'path' import validator from 'validator' import { toCompleteUUID } from '@server/helpers/custom-validators/misc' +import { mdToOneLinePlainText } from '@server/helpers/markdown' import { ActorImageModel } from '@server/models/actor/actor-image' import { root } from '@shared/core-utils' import { escapeHTML } from '@shared/core-utils/renderer' @@ -14,15 +14,12 @@ import { HttpStatusCode } from '../../shared/models/http/http-error-codes' import { VideoPlaylistPrivacy, VideoPrivacy } from '../../shared/models/videos' import { isTestInstance } from '../helpers/core-utils' import { logger } from '../helpers/logger' -import { mdToOneLinePlainText } from '../helpers/markdown' import { CONFIG } from '../initializers/config' import { ACCEPT_HEADERS, CUSTOM_HTML_TAG_COMMENTS, EMBED_SIZE, FILES_CONTENT_HASH, - MEMOIZE_LENGTH, - MEMOIZE_TTL, PLUGIN_GLOBAL_CSS_PATH, WEBSERVER } from '../initializers/constants' @@ -35,11 +32,6 @@ import { MAccountActor, MChannelActor } from '../types/models' import { getBiggestActorImage } from './actor-image' import { ServerConfigManager } from './server-config-manager' -const getPlainTextDescriptionCached = memoizee(mdToOneLinePlainText, { - maxAge: MEMOIZE_TTL.MD_TO_PLAIN_TEXT_CLIENT_HTML, - max: MEMOIZE_LENGTH.MD_TO_PLAIN_TEXT_CLIENT_HTML -}) - type Tags = { ogType: string twitterCard: 'player' | 'summary' | 'summary_large_image' @@ -112,7 +104,7 @@ class ClientHtml { res.status(HttpStatusCode.NOT_FOUND_404) return html } - const description = getPlainTextDescriptionCached(video.description) + const description = mdToOneLinePlainText(video.description) let customHtml = ClientHtml.addTitleTag(html, video.name) customHtml = ClientHtml.addDescriptionTag(customHtml, description) @@ -173,7 +165,7 @@ class ClientHtml { return html } - const description = getPlainTextDescriptionCached(videoPlaylist.description) + const description = mdToOneLinePlainText(videoPlaylist.description) let customHtml = ClientHtml.addTitleTag(html, videoPlaylist.name) customHtml = ClientHtml.addDescriptionTag(customHtml, description) @@ -272,7 +264,7 @@ class ClientHtml { return ClientHtml.getIndexHTML(req, res) } - const description = getPlainTextDescriptionCached(entity.description) + const description = mdToOneLinePlainText(entity.description) let customHtml = ClientHtml.addTitleTag(html, entity.getDisplayName()) customHtml = ClientHtml.addDescriptionTag(customHtml, description)