fix: truncate image descriptions (#7699)
* move truncate function to separate file to reuse it * truncate image descriptions * show image description limit in UI * correctly treat null Co-authored-by: nullobsi <me@nullob.si> * make truncate Unicode-aware The strings that truncate returns should now be valid Unicode. PostgreSQL also counts Unicode Code Points instead of bytes so this should be correct. * move truncate to internal, validate in API Truncating could also be done in src/services/drive/add-file.ts or src/services/drive/upload-from-url.ts but those would also affect local images. But local images should result in a hard error if the image comment is too long. * avoid overwriting Co-authored-by: nullobsi <me@nullob.si>
This commit is contained in:
parent
c5e5a9b8ef
commit
414f1d1158
7 changed files with 51 additions and 17 deletions
|
|
@ -4,6 +4,7 @@ import { publishDriveStream } from '@/services/stream';
|
|||
import define from '../../../define';
|
||||
import { ApiError } from '../../../error';
|
||||
import { DriveFiles, DriveFolders } from '@/models/index';
|
||||
import { DB_MAX_IMAGE_COMMENT_LENGTH } from '@/misc/hard-limits';
|
||||
|
||||
export const meta = {
|
||||
tags: ['drive'],
|
||||
|
|
@ -33,7 +34,7 @@ export const meta = {
|
|||
},
|
||||
|
||||
comment: {
|
||||
validator: $.optional.nullable.str,
|
||||
validator: $.optional.nullable.str.max(DB_MAX_IMAGE_COMMENT_LENGTH),
|
||||
default: undefined as any,
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import uploadFromUrl from '@/services/drive/upload-from-url';
|
|||
import define from '../../../define';
|
||||
import { DriveFiles } from '@/models/index';
|
||||
import { publishMainStream } from '@/services/stream';
|
||||
import { DB_MAX_IMAGE_COMMENT_LENGTH } from '@/misc/hard-limits';
|
||||
|
||||
export const meta = {
|
||||
tags: ['drive'],
|
||||
|
|
@ -35,7 +36,7 @@ export const meta = {
|
|||
},
|
||||
|
||||
comment: {
|
||||
validator: $.optional.nullable.str,
|
||||
validator: $.optional.nullable.str.max(DB_MAX_IMAGE_COMMENT_LENGTH),
|
||||
default: null,
|
||||
},
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue