* [project-history] add best effort flush when cloning project
* [web] update labels in clone project modal for admins
* [project-history] do not shadow history flush failure
* [web] fix accessible label for 'Add comment' button
* [chat] clone comment threads when cloning project with ranges
GitOrigin-RevId: ef30204c8a94b3d6204d56dcca2f62a46319996b
* [web] add consistent aria-label to editing/reviewing toggle
* [docstore] add endpoint for getting all docs with ranges
* [history-v1] fix schema of chunkId when deleting old history chunk
* [web] skip duplicate project lookup for resolving rootDocPath
* [web] ignore new limits for root doc path when making debug copy
* [web] allow admins to clone projects with ranges and entire history
* [web] fix tests
* [history-v1] re-order params for cloning project
* [web] fix duplicate import of logger after merge
* [project-history] re-order params for cloning project history metadata
GitOrigin-RevId: 7fa35b4f90885dd453150a348d491ba0ec8de412
* [web] gracefully handle broken histories when compiling from history
* [web] trim down schema
GitOrigin-RevId: 97d59b31eb25644d7de1194a45281def6982b130
* [monorepo] remove PII and variables from error messages
Exclusions:
- scripts
- tests
- fuzzing
- SplitTestManager (messages are sent to admin frontend)
- Group setup (we may want an error per unique tuple)
- sharejs (unused types; text type errors are shadowed already)
- history-v1 error messages that are used by the ErrorRecorder
- errors that flag issues with configuration/call signatures
I've used these search terms for finding unwanted error messages:
- new Error(`
- new Error\(\n\s+` (regex search)
- new OError(`
- new OError\(\n\s+` (regex search)
* [web] throw NotFoundError from ProjectLocator
* [github-sync] fix OError.tag call in script
Co-authored-by: Jessica Lawshe <jessica.lawshe@overleaf.com>
* [templates] revert changes to test client
---------
Co-authored-by: Jessica Lawshe <jessica.lawshe@overleaf.com>
GitOrigin-RevId: 736857a4fc5d9bfb0f8cb03e0f004eda87e5a220
* Add @overleaf/validation-tools in project-history
* use error handler for zod
* Replace joi validations with zod schema
* fix unit tests
* remove Joi validation middleware
* remove optional when there is a default
* fix tests after checking for objectid
* ran build_scripts
* monorepo npm install
GitOrigin-RevId: f8396a3caadd536edf64c6f971c77f4c941f000a
* Add getDocUpdaterCompatibleRanges utility function
* use history snapshot for file/project restore
* move overleaf-editor-core from devDependencies
GitOrigin-RevId: 62481a5304ada9d931e018418be3c0719bccf1f3
* [project-history] add support for resync of history-ot ranges
* [project-history] avoid compressing sharejs and history-ot upgrades
* [document-updater] improve error message of some assertions
... by migrating the assertions like this:
```diff
-stub.calledWith().should.equal(true)
+stub.should.have.been.calledWith()
```
```diff
-stub.called.should.equal(false)
+stub.should.not.have.been.called
```
* [document-updater] move content field in resyncDocContent
* [document-updater] add support for resync of history-ot ranges
GitOrigin-RevId: e6104686a26934a5f25a8f095cbe00c163fbbaa7
* [project-history] fix tests and cover callback for processing updates
The before setup was hiding that some tests were not doing what the
assertions were expecting.
* [project-history] fix callback signature when processing no updates
GitOrigin-RevId: 4fa14d47b9a1afd998316b0c9024d49760785a47
* [document-updater] flush history for projects with short queues ASAP
* [k8s] document-updater: enable short history queue for history-ot demo
* [project-history] flush history for projects with short queues ASAP
* [project-history] wait for mongo before running acceptance tests
* [k8s] project-history: enable short history queue for history-ot demo
* [project-history] change wait-for-mongo step in tests
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
---------
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: 3e989c409e8e9887655b35f2659ce0829e61b357
* [history-ot] rename remaining history-v1-ot references to history-ot
* [web] rename History-v1 OT -> History OT in admin panel
* [web] rename OT Migration -> History OT Migration in admin panel
GitOrigin-RevId: 103ce816d5320d6379d51009cdc08b8a71aa48e6
* [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
* [misc] fix logger.error(err) calls
The signature is "logger.error({ err }, 'MESSAGE')".
* [project-history] remove duplicate logger.err calls in health check
The call-site is already logging any errors. Also, the logger.err call
signature was not quite right.
* [web] log userId when removeDropbox/removeGithub hook fails
* [misc] fix logger.warn(err) calls
The signature is "logger.warn({ err }, 'MESSAGE')".
* [misc] fix logger.error(OError.tag(err)) calls
* [web] make eslint happy
GitOrigin-RevId: 7f528113a3f7e9f6293b7d2d45adc079380325bb
* [history-v1] add readOnly lookup for raw chunks
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* [history-v1] reduce min poolsize for readOnly pool to 0
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
---------
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: a711c4ee4f3ea3775bd090e620d1ef52689fa1f4
* [history-v1] add cheap endpoint for checking time of last history write
The /raw endpoint skips the GCS lookup for the chunk.
* [project-history] script for fixing-up files/metadata with bulk resync
* [project-history] upgrade structure only resync when full sync is needed
* [project-history] start resync and process resync updates under lock
* [project-history] stop retrying during graceful shutdown
GitOrigin-RevId: 73184d5786e1d40f5b7e21f387fc37cf43f0ac2d
Only the err/error fields will use the Error serializer and emit all the
OError details into the log.
GitOrigin-RevId: 4b0e16c00be5ea7c0aea747f49b46897ebd100cc