Commit Graph

194 Commits

Author SHA1 Message Date
Antoine Clausse 9774d9048c [web] Add admin permissions modify-group & modify-managed-group (#27456)
* Add capabilities `modify-group` and `modify-managed-group`

* Fix: Warning: validateDOMNesting(...): <span> cannot appear as a child of <option>

* Add `form-control` to select (fix styles)

* Check if admin can modify the group (frontend)

* Check if admin can modify the group (backend)

* Update tests

* Fix: Set `useSettingsUKAMF` state from `data?.useSettingsUKAMF`

* Add tests: Subscriptions update with adminRolesEnabled

* Use `getAdminCapabilities` helper

* Update `requireModifyGroupPermission` to array

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

* Rename `canModify` to `canModifySubscription`

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

* Refactor `requireModifyGroupPermission` stub

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

* Test with `adminRolesEnabled` in SubscriptionDeletionTests.mjs

* Update test description with `adminRoles`

---------

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: 37b9a2e838fd566a33aa3a70631cebfd01b520ef
2025-08-14 08:05:00 +00:00
Jakob Ackermann 809ab571d8 Merge pull request #25479 from overleaf/msm-passport-saml-5
[web] Update `passport-saml` to `v5.0.1`

GitOrigin-RevId: 9e154d3f7ef78d37a151e863ce86bfc2f8d85956
2025-07-28 08:05:20 +00:00
Antoine Clausse 30b0cabbbc [web] Update tests to add emails with 6-digits flow (#27076)
* In tests, post to `/user/emails/secondary` (6-digits) instead of the deprecated `/user/emails` (link-token)

* Update `addEmailAndConfirm` so it calls the right endpoint

* Remove unnecessary `userId` from `confirmEmail` and `addEmailAndConfirm` args

* Use `updateUser` to add unconfirmed email to user

* Confirm, then unconfirm emails, in order to test on unconfirmed emails

* Lowercase emails in `unconfirmSecondaryEmail`, so they get matched correctly

* Update UserEmailsTests.mjs with 6-digits flow, fetch, no `npm:async`

GitOrigin-RevId: 71b9ed65daebea5f22272240559caab375515f0c
2025-07-22 08:06:23 +00:00
Antoine Clausse 98af0e3d82 [web] In tests, update email confirmation to use the 6-digits flow (#27069)
* Rename `sendExistingSecondaryEmailConfirmationCode` to `sendExistingEmailConfirmationCode`

* Deduplicate error handling into `throwIfErrorResponse`

* Update `userHelper.confirmEmail` to use the 6-digits flow

GitOrigin-RevId: 91bdf7b185407b58520ca6b2aa1a7c71bdd23bc8
2025-07-18 08:06:18 +00:00
Miguel Serrano 72aca352fc [web] Group audit log for Feature disablement (#26930)
Adds a `update-group-policy` group audit log including the policies that are toggled.

GitOrigin-RevId: a582d612d20c8547995228e6b92b730373a89b63
2025-07-11 08:07:45 +00:00
Miguel Serrano 406312d495 Merge pull request #26513 from overleaf/msm-fix-sso-disable-managed-group
[web] Fix disable managed users clears SSO enrollment

GitOrigin-RevId: 75742840b5cee98a203ad11e9213e2e31cf18985
2025-07-11 08:07:32 +00:00
Alexandre Bourdin d55cb6af5e Merge pull request #26699 from overleaf/ab-survey-exclude-labs-users-option
Add an option to hide a survey from Labs users

GitOrigin-RevId: d6f87bb31221d8db38f8506afa7cc3313ad235ce
2025-07-03 08:05:31 +00:00
Tim Down ab140f578d Merge pull request #26244 from overleaf/td-limit-browser-translate-ide
Prevent browser translation of stuff that shouldn't be translated in IDE page

GitOrigin-RevId: 96a75b51c3c8efc4cbcec7eb17d9e331a03e2c96
2025-06-24 08:05:32 +00:00
Jessica Lawshe c9174cdecc Merge pull request #25965 from overleaf/jel-admin-ui-use-ukamf-settings
[web] Overleaf admin UI to toggle group SSO using UKAMF settings

GitOrigin-RevId: c4f976d8125c9a8e549c049841f5d7b58edf8192
2025-06-19 08:06:30 +00:00
Jessica Lawshe a20a0923b7 Merge pull request #26207 from overleaf/jel-group-sso-ukamf-endpoints-tests
[web] Acceptance tests for option to use UKAMF path for group SSO

GitOrigin-RevId: 16d6669083c0e651adea755f1b24926838b0737a
2025-06-19 08:06:25 +00:00
Jessica Lawshe 881db9b472 Merge pull request #25011 from overleaf/jel-group-audit-logs-part-2
[web] Update group audit log when user enrolls in managed users

GitOrigin-RevId: 15d79854007ac3334a2bb66bcf73230bf42c68ce
2025-05-28 08:05:42 +00:00
Jessica Lawshe 4b5f31ac95 Merge pull request #25353 from overleaf/revert-25351-revert-24919-jel-create-group-audit-log
Revert "Revert "[web] Add group audit log""

GitOrigin-RevId: 4d61cfd9e8a7dac1f5837a4028aff95fa19c308a
2025-05-08 08:06:32 +00:00
Jessica Lawshe 12939b91b3 Merge pull request #25351 from overleaf/revert-24919-jel-create-group-audit-log
Revert "[web] Add group audit log"

GitOrigin-RevId: cf192bbe3ebdb693f18bab9c1c5d08da18ed34c0
2025-05-07 08:07:34 +00:00
Jessica Lawshe 59275eeb84 Merge pull request #24919 from overleaf/jel-create-group-audit-log
[web] Add group audit log

GitOrigin-RevId: b59c38c57f555f18cdfa5dd697ad38d78b590996
2025-05-07 08:07:12 +00:00
Mathias Jakobsen 930401541d Merge pull request #25190 from overleaf/mj-survey-signup-limits
[web] Add options to limit survey exposure based on signup date

GitOrigin-RevId: 5719997339b5040d5cc42ffe7bee6d7b66bff12d
2025-05-05 08:05:18 +00:00
Eric Mc Sween 2a88d7d9c9 Merge pull request #25152 from overleaf/em-ds-mobile-app
Endpoints for DS mobile app

GitOrigin-RevId: c7cf867bde60a0293c1c9f68f5a08515d0d2e904
2025-05-02 08:05:57 +00:00
M Fahru a29280a1fe Merge pull request #24833 from overleaf/kh-add-stripe-get-subscription
[web] fetch Stripe subscription

GitOrigin-RevId: bffc31224aece584f4f1e3294bb1285d17f99195
2025-04-18 08:05:44 +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
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 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
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
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
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
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
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
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 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
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
Andrew Rumble e0dba75b81 Convert top level acceptance tests to ES module
GitOrigin-RevId: ab45010ec557d62576c470d2e024549e67261c66
2024-10-16 09:35:34 +00:00
andrew rumble e128e8ea32 Convert app.js to ES modules
GitOrigin-RevId: 7819cc8c8235b93b985c1c07c7dec778c93d9134
2024-10-14 11:04:23 +00:00
Jessica Lawshe 50aad92eb9 Merge pull request #20692 from overleaf/ar-limit-length-of-user-editable-fields
[web] limit length of user editable fields

GitOrigin-RevId: 239398dd05dcde7fea0ac8415e41396ef01c2b74
2024-10-14 10:57:56 +00:00
roo hutton 5e2662adc4 [web] Enforce collaborator limit (#19619)
* Enables collaborator limit enforcement

* Add pendingEditor_refs for editors downgraded during limit enforcement

* Add isPendingEditor to useEditorContext

---------

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>
GitOrigin-RevId: b622213f6282ccd8ee85a23ceb29b8c6f8ff6a96
2024-08-22 14:01:25 +00:00
andrew rumble 330868ff0c Handle Mongoose callback api removal in test helpers
GitOrigin-RevId: 00b8128aed7727e7a1b6f8d2d92a5fbc3a7775fb
2024-08-21 08:04:37 +00:00
andrew rumble 032deaf05c Switch to mongodb-legacy
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +00:00
Alexandre Bourdin a6c97cd506 Merge pull request #19946 from overleaf/ac-remove-ol-int-imports-from-tests
[web] Remove overleaf-integration imports from tests

GitOrigin-RevId: 96a3afaab386c486c948d35999f2acf4cedc77cf
2024-08-20 08:04:27 +00:00
Alexandre Bourdin 10ef61a02b Merge pull request #19901 from overleaf/ac-confirm-institution-domain-queue-in-institution-module
[web] Add `start` function to modules. Move `confirm-institution-domain` queue to institution module

GitOrigin-RevId: 0d36ff3dcc529e77c76d72d0a67bbdb9310b42fd
2024-08-14 08:05:39 +00:00
Alexandre Bourdin dcf6e502b9 Merge pull request #19443 from overleaf/ab-overleaf-integration-refacto-move-institutions
[web] Move onboarding related code to onboarding module

GitOrigin-RevId: 405d4c3588f3911867fecd02b36e55fcd7633615
2024-07-30 08:04:31 +00:00
ilkin-overleaf c005e99a3e Merge pull request #19411 from overleaf/ii-split-tests-helpers
[web] Move split test helper methods to a separate file

GitOrigin-RevId: 9bcb429f2debf8f7ff4b071e32c9cf0038459b97
2024-07-22 08:04:16 +00:00
Jakob Ackermann a55d9fcf38 Merge pull request #19416 from overleaf/jpa-test-debug
[web] tests: use named before-all/after-all hooks for mongo setup

GitOrigin-RevId: bbdd0f27d310eac730cec3e2230f177d8112acd8
2024-07-15 09:33:03 +00:00
Miguel Serrano 1697087425 Merge pull request #18970 from overleaf/msm-clean-features-templates
[web] Cleanup `features.templates`

GitOrigin-RevId: 7c9f7bc827700e4255a5ba8a46de70318afdaae4
2024-06-24 12:05:43 +00:00
Brian Gough 38ac00ba13 Merge pull request #18775 from overleaf/bg-cookie-session-metrics-middleware
add middleware to record session cookie metrics in web

GitOrigin-RevId: f4404455e219d2071d6f0b39e657e9219b7d1c70
2024-06-13 08:04:16 +00:00
Brian Gough 97956856ca Merge pull request #18741 from overleaf/bg-cookie-session-test-rotation-support
test session key rotation in cookie-session module

GitOrigin-RevId: 57486b3df527a9998da3b93981c9d45f510802b8
2024-06-13 08:04:06 +00:00
Jakob Ackermann dfe587f297 Merge pull request #18294 from overleaf/jpa-td-invite-details
[web] avoid content reflection via query parameter on register page

GitOrigin-RevId: 43e7ba6069e0d9f3f12e5e9e680b5960b0673782
2024-05-16 08:05:09 +00:00