diff --git a/libraries/overleaf-editor-core/lib/operation/index.js b/libraries/overleaf-editor-core/lib/operation/index.js index 134ff1a1c2..916440518e 100644 --- a/libraries/overleaf-editor-core/lib/operation/index.js +++ b/libraries/overleaf-editor-core/lib/operation/index.js @@ -160,7 +160,7 @@ class Operation { * @return {Operation[]} operations `[a', b']` */ static transform(a, b) { - if (a.isNoOp() || b.isNoOp()) return [b, a] + if (a.isNoOp() || b.isNoOp()) return [a, b] function transpose(transformer) { return transformer(b, a).reverse() diff --git a/libraries/overleaf-editor-core/test/operation.test.js b/libraries/overleaf-editor-core/test/operation.test.js index c0aad37bac..a4a823cf63 100644 --- a/libraries/overleaf-editor-core/test/operation.test.js +++ b/libraries/overleaf-editor-core/test/operation.test.js @@ -741,4 +741,10 @@ describe('Operation', function () { .expectFiles({}) .expectSymmetry() }) + + it('transforms no-op with other operation', function () { + runConcurrently(Operation.NO_OP, addFile('foo', 'test')).expectFiles({ + foo: 'test', + }) + }) })