diff --git a/server/models/Document.ts b/server/models/Document.ts index 68cdd5565539..c7f5220171b2 100644 --- a/server/models/Document.ts +++ b/server/models/Document.ts @@ -228,6 +228,10 @@ class Document extends ParanoidModel { @Column(DataType.TEXT) text: string; + @Length({ + max: DocumentValidation.maxStateLength, + msg: `Document collaborative state is too large, you must create a new document`, + }) @Column(DataType.BLOB) state: Uint8Array; diff --git a/shared/validations.ts b/shared/validations.ts index efa510239ef4..6bdd74f70ba0 100644 --- a/shared/validations.ts +++ b/shared/validations.ts @@ -30,6 +30,9 @@ export const CollectionValidation = { export const DocumentValidation = { /** The maximum length of the document title */ maxTitleLength: 100, + + /** The maximum size of the collaborative document state */ + maxStateLength: 1000000, }; export const PinValidation = {