Brian Gough
695422b6a5
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
b783b27e6f
Merge pull request #22028 from overleaf/jpa-logging
...
[misc] logging tweaks
GitOrigin-RevId: 7757b81b6c684955374038376035dc2bd272c4e8
2024-11-21 09:05:41 +00:00
Jakob Ackermann
397a75abb9
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
b78faef983
[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
ff7facd70e
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
630682f6c9
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
4b684d5eff
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
797964afc8
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
ce5374a555
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
57917a1e2c
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
ecafc2b39a
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
Andrew Rumble
2a60e8dfc8
Update acceptance tests
...
GitOrigin-RevId: cf8bc3f86ccff15df8e20ceda6842dad8538d5e3
2024-10-17 08:06:13 +00:00
Andrew Rumble
058c6f908a
Convert top level acceptance tests to ES module
...
GitOrigin-RevId: ab45010ec557d62576c470d2e024549e67261c66
2024-10-16 09:35:34 +00:00
andrew rumble
33db85ce8c
Convert app.js to ES modules
...
GitOrigin-RevId: 7819cc8c8235b93b985c1c07c7dec778c93d9134
2024-10-14 11:04:23 +00:00
Jessica Lawshe
905bf1dd1a
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
Miguel Serrano
7b5e82459b
Fix history label creation for anonymous users ( #20200 )
...
* Remove decaffeination artifacts in LabelsTests
* Remove decaffeination artifacts in LabelsManagerTests
* Fix label creation for anonymous users
* Update label creation route in MockProjectHistoryApi tests
* Support both endpoints for backwards compatibility
GitOrigin-RevId: 50ce1ba49388e50f147fb620e0425fea83301c9d
2024-10-14 10:57:33 +00:00
Miguel Serrano
25cd0354f7
[web] Expose metric for active users in SP ( #20130 )
...
* [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
2024-10-14 10:57:28 +00:00
Mathias Jakobsen
d70466c05e
Merge pull request #20399 from overleaf/mj-set-import-time
...
[web] Set importedAt when creating linked files
GitOrigin-RevId: 06a549a20620eee33f64608d17a91d2e893f8f8a
2024-09-19 08:04:33 +00:00
Jakob Ackermann
efc2c8fc4b
Merge pull request #20168 from overleaf/jpa-email-fallback-info
...
[web] log emails on level INFO from fallback transport
GitOrigin-RevId: a1f63e302cf6c5fcfa82b85ff2c79182fdc58945
2024-08-30 08:04:42 +00:00
Brian Gough
bec436e078
Merge pull request #20087 from overleaf/bg-clean-up-web-crash-tests
...
read crash test files from a directory
GitOrigin-RevId: 3e498bd73dc9ca97cbe96899f9c1661d430a7d75
2024-08-26 08:05:23 +00:00
roo hutton
7b65ce677c
[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
129d748405
Handle Mongoose callback api removal in test helpers
...
GitOrigin-RevId: 00b8128aed7727e7a1b6f8d2d92a5fbc3a7775fb
2024-08-21 08:04:37 +00:00
andrew rumble
516542a7bb
Use new ObjectId instead of ObjectId()
...
GitOrigin-RevId: bfbf9f1d6b84a13f32fce127f01a49b1deaee6fe
2024-08-21 08:04:33 +00:00
andrew rumble
b00d1336d4
Switch to mongodb-legacy
...
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +00:00
Alexandre Bourdin
952b9019e7
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
559ba61f03
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
ba43a64a07
Merge pull request #19929 from overleaf/ac-test-show-upgrade-prompt
...
[web] Add acceptance test checking `showUpgradePrompt` in `/project/:id`
GitOrigin-RevId: 825c5c364bea07f9f3886443633f9022413d030f
2024-08-14 08:05:34 +00:00
Brian Gough
fd098be09f
add tests for unwanted 500 responses from invalid urls ( #19612 )
...
* 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
2024-08-14 08:05:16 +00:00
Antoine Clausse
79b23950da
[web] Move confirm_university_domain to institutions module, and /api/clsi/compile/* to publish-modal module ( #19797 )
...
* Move `/api/institutions/confirm_university_domain` to institutions module
* Move `confirmDomain` to institutions module
* Move `/api/clsi/compile/*` endpoints to `publish-modal` module
* Move ApiClsiTests to publish-modal module
* Revert move of MockClsiApi. It's still needed in the main acceptance tests
GitOrigin-RevId: b59c2921e03b94546d72d21e60a688eb1ae1d05e
2024-08-12 08:05:16 +00:00
ilkin-overleaf
bf8078075f
Merge pull request #19626 from overleaf/ii-invite-remove-unncecessary-fields
...
[web] Clean up props exposed to the /invite and /invites endpoints
GitOrigin-RevId: dc4163e04d5785e141d5e322bfb0a626e67d637f
2024-08-12 08:05:04 +00:00
andrew rumble
ffe6d63c22
Switch to using status over statusCode
...
This is a difference in the request/fetch APIs.
GitOrigin-RevId: bde9adcf4de2ceaabfd9baae7a93bf2b0b5e5a1e
2024-08-01 08:04:47 +00:00
Alexandre Bourdin
e7ce249f81
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
Antoine Clausse
9b31a51c21
[web] Make rate-limit on login consistent, prevent "trim/case bypass" ( #19555 )
...
* Replace `LoginRateLimiter.processLoginRequest` call by use of `RateLimiterMiddleware`
* Lowercase the email to avoid rate-limit bypass
* Remove unit test "when the users rate limit"
* Use `EmailHelper.parseEmail` to normalize email in `processLoginRequest`
This should address the `trim()` bypass
* Use `.trim().toLowerCase()` instead of `EmailHelper.parseEmail`
We can't use `EmailHelper.parseEmail`, else it breaks the test (and feature): "with username that does not look like an email"
* Add acceptance test for rate limit
* Add comment on rate limits
* Rename `rateLimiter` to `rateLimiterLoginEmail` for clarity
* Make the login rate limits configurable from the settings
GitOrigin-RevId: cf1c3a416745f2b007c85014a5084570d4a049a7
2024-07-30 08:04:26 +00:00
andrew rumble
00208f9a18
Add mock for the unlink dropbox endpoint
...
GitOrigin-RevId: 41293a2cb6ab3cf87d40717e43c0f4888df89fe1
2024-07-23 08:04:28 +00:00
ilkin-overleaf
d4329a6e80
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
Liangjun Song
7e09d76643
bypass linking sharing admin redirect for internal projects ( #19314 )
...
* disable linking sharing admin redirect
* address comments
* remove ignoreSiteAdmin
* load admin domains from settings
* add acceptance test
* more tests
* fix tests and restore admin domain
* use adminDomains as array
GitOrigin-RevId: 5acb62e1b6ada0aaeceab6db6a6635f82e30833f
2024-07-16 08:04:35 +00:00
Jakob Ackermann
59e1f61d54
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
ilkin-overleaf
80788f41b1
Merge pull request #19071 from overleaf/ii-invite-token-remove-token-field
...
[web] Remove the token field from `projectInvites` collection
GitOrigin-RevId: fe8395e1d1a0ba2daad600b7e3be657f40151a8e
2024-07-04 08:05:00 +00:00
Jakob Ackermann
be5fbea2d6
Merge pull request #19215 from overleaf/jpa-cleanup-module-init
...
[web] cleanup web-module init modules
GitOrigin-RevId: 97a05c6fe79fbd96f9697a16ed7099827edc81f0
2024-07-04 08:04:37 +00:00
Thomas
f9edf0c546
Add new interstitial 'Join project' consent page for existing link sharing editors when opening a project ( #19066 )
...
* Add helpers for checking and removing user readwrite token membership
* Add sharing-updates page and handlers
* Redirect read write token members to sharing-updates on project load
GitOrigin-RevId: d552a2cd74a9843c6103923b03f137131a48877a
2024-06-26 11:12:42 +00:00
Miguel Serrano
c74eefccb1
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
David
29a7f9c070
Merge pull request #18895 from overleaf/dp-presentation-mode
...
Add pdf presentation mode
GitOrigin-RevId: e6ac1ae339e9690a733a110c6f0a33149e869dd6
2024-06-17 08:04:30 +00:00
Brian Gough
15b464adb3
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
26d6955e75
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
andrew rumble
e16cd2842e
Add new fields to mongoose subscription schema
...
GitOrigin-RevId: 6b28d7464482a8d5729709f99893b333c3d7f9c2
2024-06-11 08:04:55 +00:00
Antoine Clausse
35a0947046
Don't throw cron job when some PayPal collection fails ( #18795 )
...
* Don't throw cron job when some PayPal collection fails
Follow-up of https://github.com/overleaf/internal/pull/18414 and https://github.com/overleaf/internal/pull/18572
This was causing `Heartbeat [cron-web-collect-paypal-prod] is expired.`
And the cron to rerun (altogether three times a day, instead of once a day)
https://cloudlogging.app.goo.gl/W4qBPFDeTUkRQ8J27
* Update tests
GitOrigin-RevId: a6a29cc84c0c72fd86b2e3a9739669d3a5fb0be5
2024-06-11 08:04:04 +00:00
Antoine Clausse
1883a45576
In PayPal collect invoices script: Update throw unsuccessful invoices collections ( #18572 )
...
* Remove throw on `INVOICES_COLLECTED_SUCCESS.length === 0`
Effectively reverts https://github.com/overleaf/internal/pull/18310/commits/038377b511c56fab24959ce99b6f2c7d6429c282
See: https://digital-science.slack.com/archives/C20TZCMMF/p1716973110408049
* Update tests so they don't expect rejections
* Reject when some invoice collection failed
GitOrigin-RevId: aa37f7fa37c96b8624e87d94be675d115e3250a9
2024-05-30 08:04:31 +00:00
Alexandre Bourdin
68c3eb7fcd
Merge pull request #18000 from overleaf/ab-dev-enable-toolbar-default
...
[web] Enable the dev-toolbar by default in the dev environment
GitOrigin-RevId: 170e59e9b82268e621fe99ffcc82b7d68467e1b3
2024-05-27 10:23:56 +00:00
Brian Gough
0d1531a2ee
Merge pull request #18088 from overleaf/ab-session-secret-rotation
...
[web/realtime/history-v1] Support session secret rotation
GitOrigin-RevId: 3c2fa27b1b3e0a8e0c9d1af2e616ce873d54aedf
2024-05-27 10:23:33 +00:00
Antoine Clausse
de9a733108
In collect_paypal_past_due_invoice.js, iterate over each page instead of gathering data from all pages at first ( #18414 )
...
* Create `getPaginatedEndpointIterator` to iterate each page
* Create `waitMs` util, it will replace `slowCallback`
* Make `handleAPIError` async
* Make `isAccountUsingPaypal` async
* Make `attemptInvoiceCollection` async
* Make `attemptInvoicesCollection` async
* Use `await` instead of `new Promise`
* Remove unused callbackified `attemptInvoiceCollection`
* Run `attemptInvoiceCollection` for each page instead of gathering all pages in the beginning
* Add test on fetching multiple pages of invoice
GitOrigin-RevId: 2674b18c6ca5732b873fb2bc71b515909006f93d
2024-05-27 10:23:18 +00:00