Commit Graph

752 Commits

Author SHA1 Message Date
Jakob Ackermann
f0edc7ba00 [web] update the projects lastUpdated timestamp when changing file-tree (#24867)
* [misc] freeze time before any other unit test setup steps

Freezing it after other work (notably sandboxed-module imports) will
result in flaky tests.

* [web] update the projects lastUpdated timestamp when changing file-tree

GitOrigin-RevId: b82b2ff74dc31886f3c4bd300375117eead6e0cd
2025-04-16 08:05:14 +00:00
Antoine Clausse
7eecfe9e27 [web] Add another partial fix for fix_malformed_filetree: use _id instead of path to locate data (#24101)
* Fix `fix_malformed_filetree`'s `fixName`

* Fix findUniqueName with missing names in siblings

* Add test showcasing another bug: shifted arrays in filetree folder

* Update `removeNulls` to use `_id`

* Update services/web/app/src/Features/Project/ProjectLocator.js

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Add FIXME about file names uniqueness

* Rename `obj` to `project`

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 3ed795ae0621800603395f7b50626ac89c39199d
2025-04-08 08:05:32 +00:00
Eric Mc Sween
f46fd6f2d5 Merge pull request #24433 from overleaf/em-pending-reviewers
Support reviewers in the collaborator limit enforcement logic

GitOrigin-RevId: f11a8e37ca6ef36f9894233803c6ee8363bf0ff8
2025-03-27 14:16:48 +00:00
Domagoj Kriskovic
6932b3deb7 Add AI feature detection to subscription in OAuth user info (#24240)
* Add AI feature detection to subscription in OAuth user info

* remove subscriptionHasAi

GitOrigin-RevId: 73cdbe452cc5c7f5e379d29723978b33cb827762
2025-03-24 10:49:02 +00:00
Tim Down
c5b584e3d8 Merge pull request #24165 from overleaf/lg-td-firefox-78-unsupported
Redirect Firefox 78 and lower to unsupported browser page

GitOrigin-RevId: 1da7379c622b3ae61c3309295c769fe293c0e716
2025-03-18 09:05:21 +00:00
Brian Gough
8a4c84e7dd Merge pull request #24131 from overleaf/bg-disable-call-to-filestore-in-project-deleter
disable call to filestore in project deleter

GitOrigin-RevId: 07d9d3b33220e33abfa18a5f54e56e2b8d544e8d
2025-03-10 09:05:15 +00:00
Alf Eaton
2139107f6b Block Safari 14, deprecate Safari 15 (#23740)
GitOrigin-RevId: ef1506bc58982c4fb8286d48137ca9c8557ee1a0
2025-02-24 09:05:27 +00:00
Antoine Clausse
98ea3664f2 Create script: remove_unconfirmed_emails.mjs (#23079)
* Create script: remove_unconfirmed_emails.mjs

* Update script remove_unconfirmed_emails.mjs after pairing

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>

* Add user counts. Add timing

* Revert previous changes: just remove the fully unconfirmed emails

* Add tests on scripts/remove_unconfirmed_emails.mjs

* Update audit log so `removedEmail` is a string and doesn't break the admin-panel audit logs list

* Update remove_unconfirmed_emails to have a `--generate` and a `--consume` mode

* Update tests on remove_unconfirmed_emails

* Add tests checking that `--consume` doesn't delete any email

* Update script so `--consume` checks that emails shouldn't be deleted again!

* Update CSV path to `/tmp/...`

* Add test cases: deleted users, deleted email, comma in email

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 8c60b56bcdfa33bc6143d66c32a5f430fb76f6d7
2025-02-18 09:05:10 +00:00
Domagoj Kriskovic
8183c0785c Validate privilege levels when sending /invite request (#23533)
* Validate privilege levels when sending /invite request

* add acceptance tests

GitOrigin-RevId: 4ccd0ad3504c3c5770f5ee2b2f6d34ef746d1430
2025-02-14 09:03:37 +00:00
Jakob Ackermann
b928e865b7 [web] make user feature changes in tests more reliable (#23557)
* [web] tests: rename User.upgradeFeatures to User.upgradeSomeFeatures

The upgrades features do not match with any plan.

* [web] make user feature changes in tests more reliable

* [web] fix schema for featuresOverride in tests

* [web] log in after upgrading features

GitOrigin-RevId: ac5b19c798712926c118b221c553540b413802cd
2025-02-13 09:06:21 +00:00
Jakob Ackermann
d954fd5498 [web] dumpFolder is created on app start (#23559)
GitOrigin-RevId: e05c920f27a79a59e0c9408780b9c005b0dac350
2025-02-13 09:06:11 +00:00
Jakob Ackermann
d1410f4636 [web] avoid setting up users more than once in tests (#23558)
* [web] avoid setting up users more than once in tests

* [web] tests: simplify user exists check in User.setExtraAttributes

GitOrigin-RevId: 4c526df7c933a38ab93d7760efbd0a9490d5582a
2025-02-13 09:05:27 +00:00
ilkin-overleaf
bebc32b11d Merge pull request #23547 from overleaf/ii-flexible-group-licensing-error-assist-2
[web] Hide flexible licensing buttons for pending plans (fix)

GitOrigin-RevId: ce5b4ce4138ed7a029b840a87c5498227e3204f4
2025-02-13 09:04:57 +00:00
Eric Mc Sween
761c184c8f Merge pull request #23540 from overleaf/revert-23483-ii-flexible-group-licensing-error-assist
Revert "[web] Hide flexible licensing buttons for pending plans"

GitOrigin-RevId: 6e19c2ae2663fc0cf3335e9517e80a1eee9e2659
2025-02-12 09:05:46 +00:00
ilkin-overleaf
58ece71c7a Merge pull request #23483 from overleaf/ii-flexible-group-licensing-error-assist
[web] Hide flexible licensing buttons for pending plans

GitOrigin-RevId: 8e9b65ae9b68cdd838442e8b45f3bd8f22e72349
2025-02-12 09:05:11 +00:00
Jakob Ackermann
0a7b2004d2 [misc] silence logger when running tests (#22243)
* [misc] silence logger when running tests

* [misc] re-enable logging in some tests for scripts

* [misc] make it easy to turn on verbose logging for tests

```
LOG_LEVEL=debug make test_unit
LOG_LEVEL=debug make test_acceptance
```
GitOrigin-RevId: 219bc6d1f9cbdb89ddd7d94742920913ddde4514
2025-02-10 09:06:02 +00:00
Jakob Ackermann
b5f96b50c0 [web] disable filestore writes (#23470)
GitOrigin-RevId: 96ccd9205f9bf21420e67aaa68f8bc035eeb87d8
2025-02-10 09:05:33 +00:00
Jakob Ackermann
b0534b7f85 [web] restore downloading from history-v1 via legacy file endpoint (#23450)
GitOrigin-RevId: f6d12cfe445c7c41a62a563c9a5e7089bf94344f
2025-02-07 09:06:52 +00:00
Kristina
e3fdcdd601 Merge pull request #23131 from overleaf/kh-teardown-link-sharing-split-tests
[web] tear down link sharing split tests

GitOrigin-RevId: 449e9f368405aea1500035269428e7ae0c37d8fb
2025-02-04 09:04:25 +00:00
Antoine Clausse
3312d97a6b [web] Add tests on find_malformed_filetrees and fix_malformed_filetree, partially fix fix_malformed_filetree (#23120)
* 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
2025-01-31 09:05:27 +00:00
Miguel Serrano
8ff8e7a4bf Merge pull request #23006 from overleaf/msm-chat-capabilities-poc-2
[web] Add option to disable chat for subscription

GitOrigin-RevId: 0052d060c74c39400496f7f9f54c820398d60012
2025-01-31 09:05:18 +00:00
Eric Mc Sween
db44d0b6ee Merge pull request #22915 from overleaf/em-blob-caching
Improved caching for blobs

GitOrigin-RevId: c5113106ef239b201ae8f66bb3539a52c65ddb60
2025-01-28 09:05:16 +00:00
Jakob Ackermann
5c3353b3de Merge pull request #23099 from overleaf/jpa-fix-sessions-test
[web] add missing await in acceptance test

GitOrigin-RevId: d18d62c55609c46c5b8a583e572a415b55a81af7
2025-01-27 09:04:38 +00:00
Andrew Rumble
6cb1528495 Merge pull request #23020 from overleaf/ar-prevent-rootFolder-deletion
[web] Prevent deletes on a project's rootFolder

GitOrigin-RevId: 6d0506f207425f65d3de990a78bb1ea9b136ed1e
2025-01-23 09:05:42 +00:00
Jessica Lawshe
76c0e6f84d Merge pull request #22824 from overleaf/jel-saml-tests
[web] SAML test helper update

GitOrigin-RevId: 6a721901b0026286e0ef28ed9168c8b97cd4a200
2025-01-16 09:06:33 +00:00
Andrew Rumble
dc157392ae Merge pull request #22765 from overleaf/ar-convert-final-acceptance-tests-to-es-modules
[web] convert final acceptance tests to es modules

GitOrigin-RevId: d0d0cd3dfedbe494ce51dd6f8c180dff02429ad8
2025-01-13 09:04:50 +00:00
Brian Gough
2ce82fabab Merge pull request #22533 from overleaf/ar-only-use-history-for-blobs-when-enabled
[web] only use history for blobs when enabled

GitOrigin-RevId: 010983e9b29657d4c594e03945dca5700577bf0a
2025-01-10 09:05:32 +00:00
Eric Mc Sween
e3485f01da Merge pull request #21472 from overleaf/em-hackathon-mongo-mocks-docker
Do not mock Mongo in unit tests

GitOrigin-RevId: 7a200a4ddc8f91b14e96cf02cb4873c51fc3489a
2025-01-08 09:05:34 +00:00
Andrew Rumble
8417267075 Merge pull request #22188 from overleaf/ar-convert-modules-group-settings-to-es-modules
Convert modules/group-settings to es modules

GitOrigin-RevId: 3f1768fb91148722c0f0c181ab9b5a5a9174deca
2024-12-18 09:05:27 +00:00
Domagoj Kriskovic
71a0b48a68 Set track changes state permissions for reviewer role (#22345) (#22436)
* 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
2024-12-12 09:04:46 +00:00
Domagoj Kriskovic
a038f451d4 Revert "Set track changes state permissions for reviewer role (#22345)" (#22431)
This reverts commit 6a03d2355b3fb7d7b755ed1d3ab1a080126cd2dc.

GitOrigin-RevId: 4e962bd9a547a9d6205460c9a8e9a0e835442be4
2024-12-10 13:09:42 +00:00
Domagoj Kriskovic
53dc5fbafe Set track changes state permissions for reviewer role (#22345)
* 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
2024-12-10 13:09:14 +00:00
Jimmy Domagala-Tang
2dcd1afcc5 Merge pull request #22360 from overleaf/jdt-fix-admin-panel-tests-ai
feat: updating test defaults
GitOrigin-RevId: 2be457097dcdebe13dd211f2ea24b45573b7744a
2024-12-06 09:06:58 +00:00
Domagoj Kriskovic
511fe60a9c Revert "Support for adding reviewer role (#22137)" (#22293)
This reverts commit 54064a7f961fe06f188ab449cd469cdaaf01b20a.

GitOrigin-RevId: 1dabc635756aff465d2fe9aa0d18121b081df3b0
2024-12-04 09:05:12 +00:00
Domagoj Kriskovic
f676eca2b8 Support for adding reviewer role (#22137)
* 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
2024-12-04 09:05:00 +00:00
Mathias Jakobsen
63a9e99375 Merge pull request #22204 from overleaf/mj-papers-linking
[web+third-party-references] Add linking to papers account

GitOrigin-RevId: dbf6a01b16ae661558da01549922294278dbda70
2024-12-04 09:04:47 +00:00
Brian Gough
1f8a710f0d Merge pull request #22161 from overleaf/bg-issue22125
Copy blobs when duplicating project

GitOrigin-RevId: a2965082ddaa621e10cfe831b2701a019e45a9ac
2024-11-29 09:05:16 +00:00
Andrew Rumble
d97555a380 Merge pull request #22003 from overleaf/ar-handle-v1-outage-gracefully
[web] handle v1 outage gracefully

GitOrigin-RevId: 54f9800abf13846a39512224b898de6939be1d3a
2024-11-29 09:05:07 +00:00
Jakob Ackermann
652b5aaab5 Merge pull request #22183 from overleaf/jpa-zip-from-hash
[web] build project zip using history-v1 blobs with filestore fallback

GitOrigin-RevId: 2e197ae83e7ac8bcfe44091c327b721825b13a05
2024-11-28 09:06:41 +00:00
Jakob Ackermann
ce0d5fd383 Merge pull request #22177 from overleaf/jpa-file-view-hash-1
[web] migrate file-view to download from history-v1 (via web) 1/2

GitOrigin-RevId: b787e90c57af5e2704b06ba63502aa6fc09ea1df
2024-11-28 09:06:33 +00:00
Brian Gough
fe7ce48e48 Merge pull request #22096 from overleaf/bg-issue21795
Extend file upload  to create history blobs

GitOrigin-RevId: b3efac7f58d4c027ca9131867e761837ce63facb
2024-11-26 09:05:29 +00:00
Jakob Ackermann
4f25b0de91 Merge pull request #22028 from overleaf/jpa-logging
[misc] logging tweaks

GitOrigin-RevId: 7757b81b6c684955374038376035dc2bd272c4e8
2024-11-21 09:05:41 +00:00
Jakob Ackermann
9cc6f2a9d5 Merge pull request #21829 from overleaf/jpa-backup-deletion
[history-v1] backup-deletion-app: initial revision

GitOrigin-RevId: 9e05c0e16595cb8d180861ef503c7b4522110d39
2024-11-18 09:05:44 +00:00
Antoine Clausse
b0419a86f2 [web] Add audit logs for clear_sessions_set_must_reconfirm script, "must-reset-password-set" and "must-reset-password-unset" (#21776)
* 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
2024-11-15 09:05:21 +00:00
Andrew Rumble
ac84c582b1 Clear lock after every project structure test
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: af64d6ce2c81df55923e73597c97de6f394d54bb
2024-11-13 09:05:11 +00:00
Christopher Hoskin
4324c4a089 Merge pull request #21554 from overleaf/ae-delete-spelling
Remove the spelling service

GitOrigin-RevId: ca7c17160e79d84740f32bbe9c73bc74c2714ffc
2024-11-13 09:05:00 +00:00
Jakob Ackermann
252533b2fd Merge pull request #21668 from overleaf/jpa-mongo-utils
[mongo-utils] create new home for batchedUpdate helper

GitOrigin-RevId: 9f61c5e367a9f4cef63b5cc4c0bbbd3ef57c8ca8
2024-11-08 09:07:09 +00:00
Jakob Ackermann
bf2ad1952c Merge pull request #21506 from overleaf/jpa-fix-batched-update-edge
[web] fix edge behavior of batchedUpdate

GitOrigin-RevId: 5d1c0b884aa02c52682d114fa66b2d9b201e724e
2024-11-04 09:04:55 +00:00
Jakob Ackermann
a7517eefcb Merge pull request #21427 from overleaf/jpa-populate-db-on-import
[web] populate db with collections on import, ahead of waitForDb() call

GitOrigin-RevId: 7eb4cd61c2052187acd9947d7060f54d9822d314
2024-11-01 09:05:15 +00:00
Liangjun Song
902ae750dc Merge pull request #21202 from overleaf/ls-scripts-to-esm-2
Migrate scripts folder to esm 2/x

GitOrigin-RevId: 1698bc4f13e026fa281d37a4914a2f997849c761
2024-10-23 08:04:53 +00:00