* Update `@google-cloud/storage` and remove its patches
* Re-add patch on `@google-cloud/storage/retry-request`
Replace mentions of `.pipe()` and run `patch-package @google-cloud/storage/retry-request`
It was very hard to test whether the package could still cause bugs, so I'd rather put the patch back
GitOrigin-RevId: be83b54b6d55849995ac131bfcf3c9acd9b6dd8e
* Add some JSDoc types to `@overleaf/logger`
* Update `logger.error` calls
* Fixup `logger.err` JSDoc
* Update `logger.err` calls
* Fix `args` type
* Remove "Error message" description
* Replace `arguments` by actual arguments of the method
* Fix: "ESLint: Unnecessary '.apply()'.(no-useless-call)"
* Add JSDoc params to `debug` `info` `warn`
* Remove extra `args` param in JSDoc so developers aren't invited to use it
Not sure if this is the best thing to do because it creates a warning in the IDE: "Parameter args is not described in JSDoc"
* Add comment about serialization of `err` `req` `res`
* Allow strings as first param in `debug` `info` `warn`
* Fix syntax for optional parameters in JSDoc
* Add 2 signatures, to avoid "string, string" params
* Fix `@signature` names copy-pastes
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Revert the double `@param attributes`. It doesn't work
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 086dee8bbf30d577c5e1f844a9df5e518c46aca7
* 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
* [web] Refactor exports in ErrorController
* [web] Make SamlLogHandler.log() async
* [web] await for SamlLogHandler.log() in ErrorController
* [web] await for SamlLogHandler.log() in SAMLMiddleware
* [web] await for SamlLogHandler.log() async controllers
* [web] await for SamlLogHandler.log() in SAMLManager
* [web] Remove explicit wait when testing SAML logs
After making the logs asynchronouse the wait
is no longer needed
* [web] Avoid using async with SamlLogHandler.log on callbacks
* Add expressifyErrorHandler to promise-utils
* Tighten assertion in SAMLMiddlewareTests
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Updated SamlLogHandler.log to await for promise
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 3645923fae8096a9ba25dc9087f1a36231528569
* 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
* Add CommentList to StringFileData
* added more types
* use toRaw
* using Map rather than array for comments
* using Range class
* Comment with ranges:Range[]
* Revert "Comment with ranges:Range[]"
This reverts commit 0783b1837562600637db03cc70c620129061c797.
* Comment with ranges:Range[]
* remove isDeleted
* commentList.toRaw()
* using toRaw
* commentId to id
* Revert "using toRaw"
This reverts commit 0c04ca5836f3befd5ec027bad5bf722e8b27f36c.
* fix merge
* make comment map internal to CommentList
* remove unused type
* fix parameter name in StringFileData
* import types more consistently
* more consistent type def
* Added moveOnInsert/moveOnDelete methods to comments
* use range helper methods
* mergeRanges function
* rename isAfter to startsAfter
* added @ts-checks
* using comment.isEmpty
* rename overlaps to covers
* remove ops in applyDelete
* mege, substract, isInRange
* ranges fixes, added tests
* rename to includes
* using pos,length in applyInsert
* simplify
* extendComment option
* check comment edges
* added inclusive option
* more specific touches()
* refactor mergeRanges()
* comment.addRange()
* remove inclusive option
* refactor using more helper methods
* fix typo
* inserting a comment between ranges tests
* test description fixes
* support only range
* more edge case testing
* added more range tests
* renamed to containsExcludingEdges
* endsAt check edge
* using firstIndex, lastIndex
* contains, containsIndex
* raturn -1 for lastIndex for empty ranges
* rename ranges in tests
* indexStartsAfter
* sort comment ranges
* rename to indexIsAfter, fix Range type
* add range if expandComment is true
* split the range when expandComment is false
* added moveBy and extendBy
* added more tests
* added comments
* prettier
* small fixes/typos
* rename indexIsAfter
* merge when deleting with overlaps
* added overlap test
* same range touches test
* test with overlapping comments
* delete duplicate test
* throw on empty range
GitOrigin-RevId: 1252e3d01f2f5dc1d00ce681c579506038e4d121
* [overleaf-editor-core] Restructure TextOperation hierachy
Restructures the hierachy of TextOperations to include a superclass
EditOperation. This superclass will later on contain other classes used
for tracked changes and comments.
* [overleaf-editor-core] Update json format of LazyStringFileData
* [history-v1+project-history] Fix TextOperation.fromJSON calls
* [overleaf-editor-core] Change EditOperationBuilder.fromRaw to fromJSON
* [overleaf-editor-core] Update apply and invert functions to accept FileData
* [overleaf-editor-core] Pass missing argument to store method
* [overleaf-editor-core] Remove unused method
* [overleaf-editor-core] User EditOperationTransformer
* [overleaf-editor-core] Clean up JSDoc comments
* [overleaf-editor-core] Add tests for EditOperation
* [overleaf-editor-core] Update JSDoc types
GitOrigin-RevId: 9c22a3a89b8483bdb87b43f329ddbdd887ffed42
* Add CommentList to StringFileData
* added more types
* use toRaw
* using Map rather than array for comments
* using Range class
* Comment with ranges:Range[]
* Revert "Comment with ranges:Range[]"
This reverts commit 0783b1837562600637db03cc70c620129061c797.
* Comment with ranges:Range[]
* remove isDeleted
* commentList.toRaw()
* using toRaw
* commentId to id
* Revert "using toRaw"
This reverts commit 0c04ca5836f3befd5ec027bad5bf722e8b27f36c.
* fix merge
* make comment map internal to CommentList
* remove unused type
* fix parameter name in StringFileData
* import types more consistently
* more consistent type def
GitOrigin-RevId: 2be2225819d8e8ebcf90d08def280377205cb9ec