diff options
Diffstat (limited to 'packages/backend/src/core')
4 files changed, 23 insertions, 12 deletions
diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index 2a38ed80b7..25286992d6 100644 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -45,7 +45,6 @@ import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerServ import { NoteReadService } from '@/core/NoteReadService.js'; import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js'; import { bindThis } from '@/decorators.js'; -import { DB_MAX_NOTE_TEXT_LENGTH } from '@/const.js'; import { RoleService } from '@/core/RoleService.js'; import { SearchService } from '@/core/SearchService.js'; import { FeaturedService } from '@/core/FeaturedService.js'; @@ -335,9 +334,13 @@ export class NoteCreateService implements OnApplicationShutdown { data.localOnly = true; } + const maxTextLength = user.host == null + ? this.config.maxNoteLength + : this.config.maxRemoteNoteLength; + if (data.text) { - if (data.text.length > DB_MAX_NOTE_TEXT_LENGTH) { - data.text = data.text.slice(0, DB_MAX_NOTE_TEXT_LENGTH); + if (data.text.length > maxTextLength) { + data.text = data.text.slice(0, maxTextLength); } data.text = data.text.trim(); if (data.text === '') { @@ -348,8 +351,8 @@ export class NoteCreateService implements OnApplicationShutdown { } if (data.cw) { - if (data.cw.length > DB_MAX_NOTE_TEXT_LENGTH) { - data.cw = data.cw.slice(0, DB_MAX_NOTE_TEXT_LENGTH); + if (data.cw.length > maxTextLength) { + data.cw = data.cw.slice(0, maxTextLength); } data.cw = data.cw.trim(); if (data.cw === '') { diff --git a/packages/backend/src/core/NoteEditService.ts b/packages/backend/src/core/NoteEditService.ts index df45595da9..b1dd32aef8 100644 --- a/packages/backend/src/core/NoteEditService.ts +++ b/packages/backend/src/core/NoteEditService.ts @@ -39,7 +39,6 @@ import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerServ import { NoteReadService } from '@/core/NoteReadService.js'; import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js'; import { bindThis } from '@/decorators.js'; -import { DB_MAX_NOTE_TEXT_LENGTH } from '@/const.js'; import { RoleService } from '@/core/RoleService.js'; import { SearchService } from '@/core/SearchService.js'; import { FanoutTimelineService } from '@/core/FanoutTimelineService.js'; @@ -365,9 +364,13 @@ export class NoteEditService implements OnApplicationShutdown { data.localOnly = true; } + const maxTextLength = user.host == null + ? this.config.maxNoteLength + : this.config.maxRemoteNoteLength; + if (data.text) { - if (data.text.length > DB_MAX_NOTE_TEXT_LENGTH) { - data.text = data.text.slice(0, DB_MAX_NOTE_TEXT_LENGTH); + if (data.text.length > maxTextLength) { + data.text = data.text.slice(0, maxTextLength); } data.text = data.text.trim(); if (data.text === '') { @@ -378,8 +381,8 @@ export class NoteEditService implements OnApplicationShutdown { } if (data.cw) { - if (data.cw.length > DB_MAX_NOTE_TEXT_LENGTH) { - data.cw = data.cw.slice(0, DB_MAX_NOTE_TEXT_LENGTH); + if (data.cw.length > maxTextLength) { + data.cw = data.cw.slice(0, maxTextLength); } data.cw = data.cw.trim(); if (data.cw === '') { diff --git a/packages/backend/src/core/activitypub/models/ApImageService.ts b/packages/backend/src/core/activitypub/models/ApImageService.ts index ba9f41ca24..259889d945 100644 --- a/packages/backend/src/core/activitypub/models/ApImageService.ts +++ b/packages/backend/src/core/activitypub/models/ApImageService.ts @@ -9,12 +9,12 @@ import type { DriveFilesRepository, MiMeta } from '@/models/_.js'; import type { MiRemoteUser } from '@/models/User.js'; import type { MiDriveFile } from '@/models/DriveFile.js'; import { truncate } from '@/misc/truncate.js'; -import { DB_MAX_IMAGE_COMMENT_LENGTH } from '@/const.js'; import { DriveService } from '@/core/DriveService.js'; import type Logger from '@/logger.js'; import { bindThis } from '@/decorators.js'; import { checkHttps } from '@/misc/check-https.js'; import { FederatedInstanceService } from '@/core/FederatedInstanceService.js'; +import type { Config } from '@/config.js'; import { ApResolverService } from '../ApResolverService.js'; import { ApLoggerService } from '../ApLoggerService.js'; import { isDocument, type IObject } from '../type.js'; @@ -29,6 +29,8 @@ export class ApImageService { @Inject(DI.driveFilesRepository) private driveFilesRepository: DriveFilesRepository, + @Inject(DI.config) + private config: Config, private apResolverService: ApResolverService, private driveService: DriveService, @@ -83,7 +85,7 @@ export class ApImageService { uri: image.url, sensitive: !!(image.sensitive), isLink: !shouldBeCached, - comment: truncate(image.name ?? undefined, DB_MAX_IMAGE_COMMENT_LENGTH), + comment: truncate(image.name ?? undefined, this.config.maxRemoteAltTextLength), }); if (!file.isLink || file.url === image.url) return file; diff --git a/packages/backend/src/core/entities/MetaEntityService.ts b/packages/backend/src/core/entities/MetaEntityService.ts index 61655c9652..a94b3ae290 100644 --- a/packages/backend/src/core/entities/MetaEntityService.ts +++ b/packages/backend/src/core/entities/MetaEntityService.ts @@ -110,6 +110,9 @@ export class MetaEntityService { backgroundImageUrl: instance.backgroundImageUrl, logoImageUrl: instance.logoImageUrl, maxNoteTextLength: this.config.maxNoteLength, + maxRemoteNoteTextLength: this.config.maxRemoteNoteLength, + maxAltTextLength: this.config.maxAltTextLength, + maxRemoteAltTextLength: this.config.maxRemoteAltTextLength, defaultLightTheme, defaultDarkTheme, defaultLike: instance.defaultLike, |