* Create tests on find_malformed_filetrees and fix_malformed_filetrees
* Remove lines that are making fix_malformed_filetree fail
These lines are causing errors such as
```
Missing file hash: 586846800000000000000000/5891271c0000000000000000 (rootFolder.0.folders.2.fileRefs.7.hash)
SaaS: likely needs filestore restore
Server Pro: please reach out to support
```
* Add snapshots of projects after fix_malformed_filetree
* Set `WRITE_SNAPSHOT` as false
* Make `deleteProjectsRecordId0` constant
* Ignore duplicated ID errors in CreateMalformedFileTrees.mjs
* Move snapshots to directory folder
* Remove unnecessary code
* Update tests to cover use cases from the scripts
* Fix: Use `new ObjectId(projectId)` instead of the string in mongo queries
* Fix: Query `rootFolder: []` to fix more than `rootFolder: { $size: 0 }`
* Remove/rename files from first draft
* Remove empty strings from expects in unrelated tests, now that `filterOutput` removes them
* Add missing `expectFixStdout` to tests
* misc: rename test util to strId
* Add "well formed filetrees" to test cases
* Use `wellFormed` variable to remove some duplication
* Update tests:
- check Missing file hash path
- remove test on string/numbers as array items
* Add test "bug: shifted arrays in filetree"
* Rename `wellFormedFile` to `wellFormedFolder`
* Fix name of the root folder to `'rootFolder'`, not `'untitled'`
GitOrigin-RevId: dc098bb7ad3ca441fe2bb72b5f5f0e3bcedbdf67
* Support for adding reviewer role
* added collaboratorsGetter tests
* emit toggle-track-changes when reviewer is added
* Add reviewer in change privilege level handler
GitOrigin-RevId: 88ec39f2b760b5d1ca6dc3a363df31c087268972
* Support for adding reviewer role
* added collaboratorsGetter tests
* emit toggle-track-changes when reviewer is added
* Add reviewer in change privilege level handler
GitOrigin-RevId: 6a03d2355b3fb7d7b755ed1d3ab1a080126cd2dc
* Support for adding reviewer role
* show reviewer in track changes user list
* added "review" in assertClientCanViewProject
* test if reviewer can read project
* added collaboratorsGetter tests
* eit toggle-track-changes when track changes changes
* Support for changing privilege to reviewers for invited users (#22159)
* Add reviewer in change privilege level handler
* added reviewer translation
* added acceptance tests
* fix tests
* Set track changes state permissions for reviewer role (#22167)
* Add reviewer in change privilege level handler
* added reviewer translation
* added acceptance tests
* fix tests
* Set track changes state permissions for reviewer role
* added authorization helper tests
* added ensureUserCanReviewProjectContent middleware
* allow changing track changes only with write permissions
* removed canUserReviewProjectContent
* List projects where user is added as a reviewer (#22249)
* List projects where user is added as reviewer
* list projects in /user/projects
* fix tests
GitOrigin-RevId: 54064a7f961fe06f188ab449cd469cdaaf01b20a
* Promisify clear_sessions_set_must_reconfirm.mjs
* Add test on PasswordResetTests.mjs
* Add `must-reset-password-unset` audit log
* Add `must-reset-password-set` audit log
* Add test ClearSessionsSetMustReconfirmTests.mjs
* Fixup bad copy-paste in test: `must-reset-password-set` -> `must-reset-password-unset`
* Check `must_reconfirm` before calling `removeReconfirmFlag`
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Fix unit test
* Use `promiseMapWithLimit`
* Add `{ script: true }` to AuditLog. Also use `undefined` instead of `null` for consistency
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 522026c82196d263c196503d899b8c57b05b31dd
* [web] Expose metric for active users in SP
* Removed redundant UserHandler.setupLoginData()
In the past this method was also calling
a now deleted notifyDomainLicence(), but now
this is just an alias for populateTeamInvites()
* Added migration for `lastActive`
* Added secondary read precedence to count active users
GitOrigin-RevId: 86d6db31e1ae74ae40c6599e6acb731d8c4a04bd
[web] Add `start` function to modules. Move `confirm-institution-domain` queue to institution module
GitOrigin-RevId: 0d36ff3dcc529e77c76d72d0a67bbdb9310b42fd
* add acceptance tests for bad urls
* fix 500 from health check when smoke test userId is undefined
* handle exception from invalid urls in ExpressLocals middleware
* Add return statement before `next()`
* Cleaned up list of crash_test_urls.txt
* Return 400 instead of 404 on parsing errors
---------
Co-authored-by: mserranom <mserranom@gmail.com>
GitOrigin-RevId: dac35b07d1f12bd9ceb70e3064ec2ef8393f99b5