* [history-v1-ot] initial implementation of using doc-level history-v1-ot
* [web] fix advancing of the otMigrationStage
Use 'nextStage' for the user provided, desired stage when advancing.
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
* [document-updater] document size check in editor-core
* [history-ot] rename history-v1-ot to history-ot and add types
* [history-ot] apply review feedback
- remove extra !!
- merge variable assignment when processing diff-match-match output
- add helper function for getting docstore lines view of StringFileData
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
* Revert "[document-updater] add safe rollback point for history-ot (#25283)"
This reverts commit d7230dd14a379a27d2c6ab03a006463a18979d06
Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
---------
Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 89c497782adb0427635d50d02263d6f535b12481
* [project-history] trim logging when projectVersion is out of order
* [editor-core] record reason rather than full pathname when not clean
* [editor-core] remove pathname from error messages
* [project-history] avoid logging updates when historyId is inconsistent
* [project-history] avoid logging failed history-v1 requests repeatedly
* [project-history] log once when doc version is out of order in chunk
GitOrigin-RevId: 5ac431ac87b57c00fac9d5ab486ca305b1775372
* add RestoreFileOrigin in overleaf-editor-core
* support source to be an object
* use sourceOrOrigin as param
* rename to originOrSource so the priority is more clear
* get timestamp from version
* fix test
* include version and min_count in getUpdatesFromHistory
* extractOriginOrSource util function
* fix RestoreManagerTests
GitOrigin-RevId: 0ace05a6ade2794c753a9d0bffb4f858ecc6899a
* [overleaf-editor-core+project-history] Mark TC list backing array as private
* [overleaf-editor-core] Add invariant for overlapping comment ranges
* [overleaf-editor-core] Assert that ranges are non-empty
GitOrigin-RevId: e60a3712eba2326e0767a75a3ffc75333311c057
* make range class immutable
* rename variable
* use newRanges
* range readonly props
* skrinkBy test
* Fix range shrinking bug
* [overleaf-core-editor] Make comment properties immutable
* remove added line
* format fix
* make readonly array
* [overleaf-editor-core] AddCommentOperation and DeleteCommentOperation (#16871)
* [overleaf-editor-core] AddCommentOperation and DeleteCommentOperation
* added add comment op test
* delete comment op test
* import core to escape circle deps
* desctructure in tests
* require directly in builder
* invert of add comment is always delete comment
* no merging on compose
* NoOp if comment is not found
* use comment.clone()
* update test
* change CommentRawData type
* jsdoc assert type
* fix formating
* EditNoOperation
* return other in compose
* use ReturnType
* Revert "use ReturnType"
This reverts commit 2c7e04f1541310e9fc08963170a783a437ed1992.
* transorm add comment operation
* transform delete comment operation
* moved comment.js
* format fix
* fix transform addComment and textoperation
* fix merge
* test more complex test operations
* change to else if
* move range.js
* fix types
* fix AddComment and TextOperation transform
* fixed AddComment-TextOperation trasform, added test
* deletecommentoperation should win
* should not delete comment
* remove unused function, fix type
* fix format
* add resolved for existing comment
* transform EditNoOperation
* fix test description
* change the order of EditNoOperation
* fix DeleteCommentOperation-DeleteCommentOperation transform
* fix types after merging main
* refactor operation types
* fix errors after merging
* fix bad merge
* format fix
* removed comment.clone()
* return old comment
* remove unused var
GitOrigin-RevId: e31d723075cb04b0b7177e7cae0014c295f92a68
* [overleaf-editor-core] AddCommentOperation and DeleteCommentOperation
* added add comment op test
* delete comment op test
* import core to escape circle deps
* desctructure in tests
* require directly in builder
* invert of add comment is always delete comment
* no merging on compose
* NoOp if comment is not found
* use comment.clone()
* update test
* change CommentRawData type
* jsdoc assert type
* fix formating
* EditNoOperation
* return other in compose
* use ReturnType
* Revert "use ReturnType"
This reverts commit 2c7e04f1541310e9fc08963170a783a437ed1992.
* transorm add comment operation
* transform delete comment operation
* moved comment.js
* format fix
* fix transform addComment and textoperation
* fix merge
* test more complex test operations
* change to else if
* move range.js
* fix types
* fix AddComment and TextOperation transform
* fixed AddComment-TextOperation trasform, added test
* deletecommentoperation should win
* should not delete comment
* remove unused function, fix type
* fix format
* add resolved for existing comment
* transform EditNoOperation
* fix test description
* change the order of EditNoOperation
* fix DeleteCommentOperation-DeleteCommentOperation transform
* fix types after merging main
* refactor operation types
GitOrigin-RevId: 6f127763a6dc50d4fe3524d9b25dc7526b6b0028
* make range class immutable
* rename variable
* use newRanges
* range readonly props
* skrinkBy test
* Fix range shrinking bug
GitOrigin-RevId: ea9a568b28f53e74dec4c500be3d5dba65abf0ad