From 2f69caef63fa22de492419bac2851e79f7b13a96 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Fri, 31 Jul 2026 13:21:57 +0200 Subject: [PATCH] [editor-core] allow empty ranges on rawAddCommentOperation (#36073) GitOrigin-RevId: 8674a2b458770439925047aab9a129242eb984d4 --- libraries/overleaf-editor-core/lib/schemas.js | 2 +- .../test/unit/add_comment_operation.test.js | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/libraries/overleaf-editor-core/lib/schemas.js b/libraries/overleaf-editor-core/lib/schemas.js index 3605604d7b..6c97ca399f 100644 --- a/libraries/overleaf-editor-core/lib/schemas.js +++ b/libraries/overleaf-editor-core/lib/schemas.js @@ -47,7 +47,7 @@ const rawRange = z.strictObject({ const rawAddCommentOperation = z.strictObject({ commentId: zz.objectId(), - ranges: z.array(rawRange).min(1), + ranges: z.array(rawRange), resolved: z.boolean().optional(), }) diff --git a/libraries/overleaf-editor-core/test/unit/add_comment_operation.test.js b/libraries/overleaf-editor-core/test/unit/add_comment_operation.test.js index fe9b9f193d..42facf9c77 100644 --- a/libraries/overleaf-editor-core/test/unit/add_comment_operation.test.js +++ b/libraries/overleaf-editor-core/test/unit/add_comment_operation.test.js @@ -17,6 +17,18 @@ describe('AddCommentOperation', function () { expect(op.resolved).to.be.true }) + it('constructs a collapsed AddCommentOperation fromJSON', function () { + const op = AddCommentOperation.fromJSON({ + commentId: '123', + resolved: true, + ranges: [], + }) + expect(op).to.be.instanceOf(AddCommentOperation) + expect(op.commentId).to.equal('123') + expect(op.ranges).to.be.deep.equal([]) + expect(op.resolved).to.be.true + }) + it('should convert to JSON', function () { const op = new AddCommentOperation('123', [new Range(0, 1)]) expect(op.toJSON()).to.eql({