Commit graph

542 commits

Author SHA1 Message Date
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
Liangjun Song
6245e81f42 Merge pull request #22518 from overleaf/ii-flexible-group-licensing-add-seats-legacy
[web] Unlock self-served license purchasing for legacy plans

GitOrigin-RevId: bf3083d00a77417f0e78d2145f6192c57b163273
2025-01-29 09:05:25 +00:00
Jimmy Domagala-Tang
0baaed6cdf Merge pull request #22994 from overleaf/jdt-diasble-assist
Add a toggle to hide all AI features on a users account

GitOrigin-RevId: 978b02609c40f3975daa267aa6c10ac49e13d6f3
2025-01-28 09:05:27 +00:00
Andrew Rumble
342bbe5f0b Merge pull request #22943 from overleaf/ar-ss-migrate-sync-group-memberships-to-raw
[web] migrate sync group memberships to raw

GitOrigin-RevId: 8c2ea9fef84ec1abcc99deef841e085d62739050
2025-01-28 09:05:05 +00:00
Antoine Clausse
272108a213 Run bin/update_node 20.18.0 20.18.2 (#23074)
GitOrigin-RevId: 3f1ab14c4c36ea54408e0ce2c404a323bfe8d9a6
2025-01-24 09:06:05 +00:00
Kristina
0bbe4b2e5a [web] show monthly rates on group plans (#23019)
GitOrigin-RevId: e500869be9def2c150b4773f2f18883021ab356b
2025-01-24 09:05:26 +00:00
Kristina
0d42173034 [web] add annual-prices-monthly-rates experiment (#22956)
* [web] add annual-prices-monthly-rates experiment
* [web] add annualMonthly to plans.mjs and update settings.overrides.saas.js
* [web] display monthly rates on individual plans on desktop
* [web] display monthly rates on individual plans on mobile
* [web] add monthly rates split test to view event segmentation

GitOrigin-RevId: 4ddbdc2fc6a9ec5a868643d3fc0e3f78ef27772d
2025-01-24 09:05:17 +00:00
Jakob Ackermann
04c1497673 [web] extend scripts for finding and fixing broken file-trees (#22984)
- Validate _id fields to be ObjectIds
- Include more debug output, notably include the folder/doc/file id
- Emit and consume JSON output
- Read broken file-tree details from (ad-hoc) file
- Use generator instead of accumulating all results per project first
- Use batchedUpdate to be able to pause and resume processing

GitOrigin-RevId: 606ac431fff65891e09479c0ba9bcb7e7dc5cbe4
2025-01-22 09:05:12 +00:00
Jakob Ackermann
f03d346a32 Merge pull request #22882 from overleaf/jpa-file-tree-script
[web] scripts/find_malformed_filetrees: flag missing file hash and folder arrays

GitOrigin-RevId: 8561a59856486bd6903f84a99434d0bd81acb175
2025-01-20 09:04:45 +00:00
Antoine Clausse
b9fb636f0b [web] Remove promises exports from Controller modules (#22242)
* Remove promises object from CollaboratorsInviteController.mjs

* Define functions at root

* Remove mentions of undefined `revokeInviteForUser`

* Remove unused `doLogout`

* Remove promises object from UserController.js

* Remove unused `makeChangePreview`

* Remove promises object from SubscriptionController.js (`getRecommendedCurrency` and `getLatamCountryBannerDetails`)

* Remove promises object from CollabratecController.mjs

* Remove promises object from SSOController.mjs

* Remove promises object from ReferencesApiController.mjs

* Remove promises object from MetricsEmailController.mjs

* Remove promises object from InstitutionHubsController.mjs

* Remove promises object from DocumentUpdaterController.mjs

* Remove promises object from SubscriptionAdminController.mjs

* Fixup unit tests

* Add expects that controllers don't error

* Promisify `ensureAffiliationMiddleware`

GitOrigin-RevId: 311c8afa7d5c8e4f051408d305b6b4147a020edc
2025-01-17 09:05:36 +00:00
Eric Mc Sween
eb1b939f5a Merge pull request #22567 from overleaf/em-collection-method
Add collection method field to Mongo subscriptions

GitOrigin-RevId: 7fffabaecfde8f7da8e05fcedcbbf0b2fdcc70f5
2025-01-10 09:05:25 +00:00
Thomas
d8840bfe7f Merge pull request #22433 from overleaf/tm-suspend-users-script
Add script for bulk account suspension

GitOrigin-RevId: 434ac819c12a2a33c26baf963d8d8874b1864928
2024-12-11 09:04:40 +00:00
Jimmy Domagala-Tang
ab5a539c62 Merge pull request #22110 from overleaf/jdt-remove-assistant-from-labs
[Web] End Error Assist Labs Experiment

GitOrigin-RevId: 2570c07aea3d6b71dc59792cd2248cb890b415d3
2024-12-06 09:06:32 +00:00
Eric Mc Sween
b68f758fd5 Merge pull request #22274 from overleaf/em-setup-recurly-add-ons
Set up assistant add-on only on group plans available in production

GitOrigin-RevId: a47c05443c5bf4a1bb1fb26d45a3705a544ba7c5
2024-12-05 09:04:59 +00:00
roo hutton
172aeb59d1 Merge pull request #22260 from overleaf/rh-odc-students-never-used
Add student filter and country field to 'never used LaTeX' ODC script

GitOrigin-RevId: 9db298a48b7d70b59b81388ff93fc6c9575861d7
2024-12-03 09:04:59 +00:00
Antoine Clausse
b27b2808f2 [web] Fixup .mjs extension in scripts mentions (calls, comments, copybara) (#21969)
* Fixup `.mjs` extension in scripts mentions (calls, comments, copybara)

* Replace `.js` by `.*` in copy.bara.sky exclude

* Add `services/web/modules/modules-*.mjs` in copy.bara.sky glob

GitOrigin-RevId: b3ecb849b44bdf4257cc17f6985f8117a4d662ae
2024-11-21 09:04:23 +00:00
Eric Mc Sween
7e42b1f3eb Merge pull request #21989 from overleaf/em-dangling-comments-script
Script for deleting dangling comments in a project

GitOrigin-RevId: da947834d5a824bbf38ec8e98e212796faf66568
2024-11-21 09:04:19 +00:00
Miguel Serrano
d825fbe44c Merge pull request #21434 from overleaf/msm-esm-oauth2-server
[web] Migrate `modules/oauth2-server` to ESM

GitOrigin-RevId: edc3b3bbba447dc2f897c66feaa835e04f52ec96
2024-11-21 09:03:39 +00:00
Jakob Ackermann
64fffb9d4d Merge pull request #21997 from overleaf/jpa-object-id-from-timestamp
[misc] add bin/object-id-from-timestamp helper

GitOrigin-RevId: e0eb5f90084dd6dd1d020f0b20fbd5fe9e9ede0f
2024-11-21 09:03:24 +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
73b17dd694 Merge pull request #21627 from overleaf/ar-node-20
[all] node 20 upgrade v2

GitOrigin-RevId: aed13a800894717a796062e3dd4050e045040258
2024-11-15 09:04:32 +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
Andrew Rumble
57d12dfb17 Update to node 18.20.4
GitOrigin-RevId: 4b613ea3973cb7944c3d414ea91bcf367dbf50a6
2024-11-07 09:04:31 +00:00
Liangjun Song
b00483653e Merge pull request #21568 from overleaf/ls-script-to-lowercase-external-user-id-lint-fix
fix lint error

GitOrigin-RevId: 4aac5657e46ba638737e9eba9c156ecc9e8bd1fd
2024-11-05 09:05:19 +00:00
Liangjun Song
7af96a49f6 Merge pull request #21547 from overleaf/ls-script-to-lowercase-external-user-id
script to lowercase external user ids

GitOrigin-RevId: 8651f638feab4a92c15fe3748377492d5107b539
2024-11-05 09:05:15 +00:00
Antoine Clausse
eea27a36a4 [web] Add prefer-node-protocol ESLint rule (#21523)
* Add `unicorn/prefer-node-protocol`

* Revert non-web changes

* Run `npm run lint:fix` (prefer-node-protocol)

GitOrigin-RevId: c3cdd88ff9e6b3de6a4397d45935c4d026c1c1ed
2024-11-05 09:04:33 +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
9745c045ba Merge pull request #21510 from overleaf/jpa-dependency-cleanup
[web] dependency cleanup

GitOrigin-RevId: 5b1e0ace2b0acfd7b1b839520f7c24acda8027e3
2024-11-01 09:05:28 +00:00
Jakob Ackermann
0e4c87d131 Merge pull request #21441 from overleaf/jpa-batched-update-types
[web] add types to batchedUpdate

GitOrigin-RevId: a4ab8951bb43fbae6d90ac7a7afbaa781accdc39
2024-11-01 09:05:19 +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
df3be1bd5e Merge pull request #21288 from overleaf/ar-convert-modules-saas-authentication-to-es-modules
[web] Convert modules/saas-authentication to ES modules

GitOrigin-RevId: 5589bb2a7ad86da689994b6336cdac228de66c17
2024-10-31 09:05:08 +00:00
Andrew Rumble
79d80cc266 Merge pull request #21462 from overleaf/revert-18828-ac-node-20
Revert "Upgrade Node from `18.20.2` to `20.17.0`"

GitOrigin-RevId: cc12c33b4588caa2959817a113547d20d437d6f4
2024-10-30 09:05:07 +00:00
Andrew Rumble
a480df8a89 Merge pull request #18828 from overleaf/ac-node-20
Upgrade Node from `18.20.2` to `20.17.0`

GitOrigin-RevId: 0ba9b0921fc246a97d3da0aad7d48635c0e24ae8
2024-10-30 09:04:38 +00:00
Liangjun Song
8293771f58 Merge pull request #21290 from overleaf/ls-scripts-to-esm-translations
Migrate scripts/translation to esm

GitOrigin-RevId: 475ec949f0ba238791df91de109169584e68c701
2024-10-25 08:06:12 +00:00
Liangjun Song
14cd8f5479 Merge pull request #21282 from overleaf/ls-scripts-to-esm-5
Migrate rest of the scripts to esm

GitOrigin-RevId: 421f3ccd15342d34113be8d22e343d08533177ea
2024-10-25 08:05:41 +00:00
Liangjun Song
e3b93f0a22 Merge pull request #21284 from overleaf/ls-scripts-to-esm-6
Migrate scripts/ukamf to esm

GitOrigin-RevId: e7318d9fb112304153912303649fc597ef7a19db
2024-10-25 08:05:37 +00:00
Eric Mc Sween
13ecddaef1 Merge pull request #20898 from overleaf/em-ai-add-on-setup-recurly
Script for setting up the Assistant add-on in Recurly

GitOrigin-RevId: 25a94961e4068456795b6be6b5e047efc65363fa
2024-10-24 08:06:29 +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
Liangjun Song
26f3f3e2e2 Merge pull request #21097 from overleaf/ls-scripts-to-esm-1
Migrate scripts folder to esm 1/x

GitOrigin-RevId: 4a4bc9a161f144fdb40ce3f2a0a9313b36c6df81
2024-10-21 08:04:42 +00:00
Miguel Serrano
a753d3c1d9 Merge pull request #21114 from overleaf/msm-add-missing-test-base
[web] check `web/test` folder on `esm-check-migration.js`

GitOrigin-RevId: 0665f208664fc969932d627c994d986c2f97d51a
2024-10-17 08:05:32 +00:00
Andrew Rumble
d2e6608f01 Convert export_institution_chat script to ES module
GitOrigin-RevId: 8570922654049edb514f8091421e5be2f04988cd
2024-10-17 08:04:59 +00:00
Andrew Rumble
3f0cf84318 Convert scripts that use institutions module
GitOrigin-RevId: d5819904f746c04fdb63971af93e8f8cc6f9fda8
2024-10-16 08:04:52 +00:00
Andrew Rumble
e60297bd04 Convert refresh_features to es module
GitOrigin-RevId: c3fd7ec4c0f3ce5560f6a8b4e3fff1d2eec5c4ab
2024-10-16 08:04:41 +00:00
Jakob Ackermann
7f6c2afc92 Merge pull request #20980 from overleaf/jpa-extend-create-project
[web] scripts/create_project: fix and extend

GitOrigin-RevId: 4df41d02138a2214c83e7237794995d534e3c603
2024-10-14 11:08:04 +00:00
Andrew Rumble
e05c181af4 Ignore test settings file
GitOrigin-RevId: 5f9e901f4358bb631299ec165b72305ea814e343
2024-10-14 11:07:18 +00:00
Miguel Serrano
ce130a8bc5 Merge pull request #20909 from overleaf/msm-check-esm-test
[scripts] lookup `test` dirs on `esm-check-migration.js`

GitOrigin-RevId: 79a0961e3b018b440cdb15980a194b63b2211aec
2024-10-14 11:06:50 +00:00
roo hutton
8f593757e9 Merge pull request #20801 from overleaf/rh-odc-never-latex
Add script for extracting ODC users without LaTeX experience

GitOrigin-RevId: 5680a4e8ad1e7331c9b22752b7292b23bb169869
2024-10-14 11:02:19 +00:00
Liangjun Song
9e15c73228 Merge pull request #20732 from overleaf/revert-20731-revert-20480-ls-convert-migration-scripts-to-esm
Revert "Revert "Convert migration scripts to ESM""

GitOrigin-RevId: 0430a3cd02b9d23bf0f4573346351dcf4ee17fa6
2024-10-14 10:58:50 +00:00
Jakob Ackermann
39ee8de1a5 Merge pull request #20756 from overleaf/jpa-clear-admin-sessions
[web] add script for clearing admin sessions

GitOrigin-RevId: c5103b233073db62276698067b2262d7a785592b
2024-10-14 10:58:12 +00:00
Miguel Serrano
a6016ff984 [web] esm-check-migration to lookup scripts and migrations (#20736)
* [web] `esm-check-migration` to lookup scripts and migrations

* Remove unnecessary minimist default

GitOrigin-RevId: 55b0900d2d1dc2669e297ddc778dcd236c2912a7
2024-10-14 10:57:37 +00:00