Commit graph

1698 commits

Author SHA1 Message Date
Alf Eaton
04dbb7d2f2 Remove spell check languages that are only available on the server (#21056)
GitOrigin-RevId: cfe10a18af8149327754b3a2e62883c7ebc04bfc
2024-10-22 08:06:20 +00:00
Andrew Rumble
2bfb55a305 Update tests
GitOrigin-RevId: 9272720e0f6865c54257c43bd98d8e6003251aa2
2024-10-17 08:06:17 +00:00
Andrew Rumble
c6c62088cc Migrate Features to ES modules
GitOrigin-RevId: 4e9d3176b4b5a5504afc102e569a27d7788864a3
2024-10-17 08:06:08 +00:00
Liangjun Song
8c342dc226 Merge pull request #21011 from overleaf/ls-serve-static-wrapper
add a wrapper for serve static to handle premature close error

GitOrigin-RevId: 8128702d9340a893624061d07bf0da15ea457f43
2024-10-14 11:10:56 +00:00
roo hutton
7d53b3e4a8 Merge pull request #20561 from overleaf/rh-duplicate-invite
[web] Revoke invite after joining project via link sharing

GitOrigin-RevId: 5071c9fbb226e5eef8c3e5c82991da73529d7396
2024-10-14 11:08:00 +00:00
andrew rumble
2f96ef11f9 Allow ESM OL modules to be loaded
Lots of changes to async/await required to allow this. We have to make
some changes to handle the fact that modules are loaded async in stages
rather than sync (so we can't control when top-level functionality is
run in a fine grained way)

GitOrigin-RevId: 0127b15bfc4f228a267df3af8519c675e900654e
2024-10-14 11:04:32 +00:00
andrew rumble
63ea296453 Add promises export needed for LinkedFilesController
GitOrigin-RevId: 0a4c4b8faf1c6bb94d288cb8019d3966c283ed70
2024-10-14 11:03:14 +00:00
M Fahru
16ba4b0ddf Merge pull request #20371 from overleaf/mf-us-gov-banner
[web] Add US gov banner based on inclusion and exclusion criteria

GitOrigin-RevId: c45ed280c8ef2dbdf9f3b84488e767c06fcc1ae1
2024-10-14 11:02:15 +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
3ff142d478 [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
Jakob Ackermann
e61b157666 Merge pull request #20348 from overleaf/jpa-disable-bull-pro
[web] provide stub interface for bull queues in Server Pro/CE

GitOrigin-RevId: 014cf1a87c266fd760ff3c2bd493689bbf16e637
2024-09-26 08:04:51 +00:00
andrew rumble
5f699ac5ef Fix findOneAnd* usages
findOneAnd* now returns either a document or null rather than a result
set (unless the result set is requested explicitly). See
https://www.mongodb.com/blog/post/behavioral-changes-find-one-family-apis-node-js-driver-6-0-0.

GitOrigin-RevId: 93dc64cbcc663217f914cf9e9821e2b9642154db
2024-09-24 08:06:28 +00:00
andrew rumble
5b1c0c5008 Fix use of fake ObjectIds in tests
12 character strings are no longer valid see:
https://github.com/mongodb/js-bson/releases/tag/v6.0.0 (Strings of
length 12 can no longer make an ObjectId)

GitOrigin-RevId: 2590c10915c50b951f991b2cf161d80235e445ca
2024-09-24 08:06:23 +00:00
Mathias Jakobsen
9719b3376c 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
roo hutton
d8221e5b91 Merge pull request #20306 from overleaf/rh-change-owner-viewer
[web] Allow project ownership to be transferred to Viewers

GitOrigin-RevId: 061d6e7b10c5c15212419e0736d0bfac39b65e96
2024-09-16 08:04:33 +00:00
Mathias Jakobsen
8245a95b4e Merge pull request #20266 from overleaf/mj-revert-linked-file
[project-history+web] Restore metadata when reverting file

GitOrigin-RevId: dbfa8202a2fe0bf077d8eedb51a2a13b9f1e8a83
2024-09-09 08:04:53 +00:00
Jessica Lawshe
edd8a7211f Merge pull request #20288 from overleaf/jel-plans-query-params
[web] Redirect to plans variants with query params

GitOrigin-RevId: cdfb4cd02bd5aca01c0912196badf3fe38e12a38
2024-09-06 08:05:48 +00:00
Jakob Ackermann
a98fefd24b Merge pull request #20129 from overleaf/jpa-handle-partial-deletion
[misc] improve handling of document deletion

GitOrigin-RevId: bd6b225b91ab38365e9ff272c50ece995e767bf2
2024-08-27 08:04:53 +00:00
Alexandre Bourdin
4997b7f1ee Merge pull request #20062 from overleaf/ab-saas-authentication-module-renaming
[web] Rename overleaf-integration module to saas-authentication

GitOrigin-RevId: 7d69e06a19da9855fa9a0962114ad97b45ad8875
2024-08-23 08:04:43 +00:00
Thomas
22fb9973fa Merge pull request #20083 from overleaf/tm-fix-mongodb-legacy-collaborators-getter
Update CollaboratorsInviteGetter to use mongodb-legacy instead of mongodb

GitOrigin-RevId: 06eb6f89725c06f759e19f73c4a4d1ade5703b4f
2024-08-22 14:01:39 +00:00
Thomas
abf04c5d6c Merge pull request #20036 from overleaf/tm-collab-limit-link-sharing
Enforce collaborator limit for link sharing

GitOrigin-RevId: b724dca0c616ef15e5bd6d07e9d898d34dd46acd
2024-08-22 14:01:34 +00:00
Thomas
98a914bb94 Merge pull request #20034 from overleaf/tm-collab-limit-edit-invites
Enforce collaborator limit when accepting project invites

GitOrigin-RevId: 94f281113fe7c7b6d0a5ef43e11ab579400d9e56
2024-08-22 14:01:30 +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
Jessica Lawshe
2b463f3062 Merge pull request #20004 from overleaf/jel-plans-tests
[web] Add unit tests for new plans page

GitOrigin-RevId: 8e5978d901d9faf123efbdd21ece65aad373cd94
2024-08-22 08:05:35 +00:00
Mathias Jakobsen
654d96ace6 Merge pull request #19743 from overleaf/mj-restore-project
[web+project-history] Add project version reverting

GitOrigin-RevId: 0f77cec730393187d531c0c6561faaa652bebf29
2024-08-21 08:05:08 +00:00
andrew rumble
4e2bfd58a1 Handle removal of mongoose callback API for UserMemberships
GitOrigin-RevId: 0bdfaf4bfb357d75ee05513cf524540eef7fcec4
2024-08-21 08:04:42 +00:00
andrew rumble
032deaf05c Switch to mongodb-legacy
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +00:00
andrew rumble
f13cb88f02 Update unit tests
GitOrigin-RevId: b7a0b6265fefae775f0ce8a61e57e5231930dc50
2024-08-15 08:04:35 +00:00
Alexandre Bourdin
61891e3c80 Merge pull request #19861 from overleaf/ab-overleaf-integration-delete-flow
[web] Remove /user/delete override from overleaf-integration

GitOrigin-RevId: 4f679f6835522c2325fe7b0368f58e7a952ee73d
2024-08-14 08:05:30 +00:00
Antoine Clausse
fb114a7c44 Merge pull request #19545 from overleaf/ac-remove-login-route-override
[web] Remove `/login` route override from overleaf-integration

GitOrigin-RevId: a22d0698e5039a8e77fb7ebb620500ad40a9a630
2024-08-14 08:04:26 +00:00
Jessica Lawshe
c636089939 Merge pull request #19822 from overleaf/jel-plans-notifications
[web] Show geo banners on light touch redesign of plans page

GitOrigin-RevId: 08ee6827cc16ec9326e5dbb1a165602be9cfe86d
2024-08-13 08:04:38 +00:00
ilkin-overleaf
16cdf5140a 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
Thomas
a16db120c0 Implement free trial limits (#19507)
* Add additional validations for subscription trials

GitOrigin-RevId: 1cb821c62e02d3eaa5b2bcacaee63b6bc7a63311
2024-08-08 08:05:05 +00:00
Thomas
2ee528a9d2 Merge pull request #19814 from overleaf/tm-link-sharing-project-joined-event-for-treatment
Add project-joined event when adding as Editor via link sharing

GitOrigin-RevId: 40f538376b90a45877859be9e48a0b4c45c9641d
2024-08-07 08:05:12 +00:00
Antoine Clausse
a278e70b27 [web] Fix UpgradePrompt in Editor - Retrieve isMember from userIsMemberOfGroupSubscription (#19810)
* Fix: Retrieve `isMember` from `userIsMemberOfGroupSubscription`

* Inline `userIsMemberOfGroupSubscription` call

GitOrigin-RevId: b8b339bbce3934b0b83bf6d805ab6ef6225d43e7
2024-08-07 08:05:03 +00:00
Jakob Ackermann
e26b6de51b Merge pull request #19740 from overleaf/jpa-linked-file-metadata
[misc] persist linkedFileData in full project history as file metadata

GitOrigin-RevId: f3e8ba947ea34b6796e210a076a248c57188d148
2024-08-06 08:04:44 +00:00
Alf Eaton
0f2aaa6c0c Merge pull request #19668 from overleaf/jpa-file-not-found-404
[web] entity not found when downloading file yields 404

GitOrigin-RevId: e6a2a7cf60f717fae53a42f39efb65f1624f71bb
2024-08-05 08:04:08 +00:00
Domagoj Kriskovic
0766c91079 Default LaTeX beginners to the Visual Editor (#18917)
* open visual code if user havent used latex before

* test tooltip on code editor switch

* firstTimeLoadedEditor

* track editor.codeEditorOpened value

* lastEditorLoadedDate

* odc data loaded from mongo

* fix a typo

* use tutorial to check if it was dissmised

* use getInactiveTutorials fn

* fix test

* check if code editor was opened

* added translations

* pass classname to tooltip

* use signUpDate instead of lastEditorLoadedDate

* refactor visual fallback value

* use tutorial completed data only for tooltip

* set lastUsedMode in odc form

* safer usedLatex check

* getOnboardingDataValue helper function

* move tooltip to a separate component

* move classname to tooltipProps

* usedLatex in meta tag

* codeEdtiorOpened fallback value

* fix release date year

* fix 24 hours criteria for showing the tooltip

* fix tests

* hide tooltip when code editor is opened

* remove setting lastUsedMode in ODC form

* remove empty comment

* change date for checking signUpDate

* fix linting error

GitOrigin-RevId: 0a57ba3f4717492d4546633571117f667d3a05f8
2024-08-02 08:05:10 +00:00
andrew rumble
8af5fa0378 Upper-case for all methods
This is required by the fetch-api.

GitOrigin-RevId: 641c63ad2fe6b9d01c48c28faf669051de8f3271
2024-08-01 08:05:11 +00:00
andrew rumble
2477ac6c50 Upper case PUT for consistency
GitOrigin-RevId: e3ce6b652ee9cee8a719b56d0dddda2faf575968
2024-08-01 08:05:06 +00:00
andrew rumble
cbf8832908 Fix typos
GitOrigin-RevId: 69477e3d95db2862f745f43d97a6f98430a1973c
2024-08-01 08:05:01 +00:00
andrew rumble
709982ac65 Switch request out for fetch
GitOrigin-RevId: b011976084d113c250b002c1bae23f6b38a3281c
2024-08-01 08:04:52 +00:00
andrew rumble
2ccd39b2fa 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
andrew rumble
0a62bc1239 Fix typo in name of method
GitOrigin-RevId: fe8a2bcf5e577c001c4508b7bb010e1738ccc903
2024-08-01 08:04:42 +00:00
Antoine Clausse
1e36db524f [web] Merge authentication error handling (V1LoginController & AuthenticationController) (#19457)
* Promisify `AuthenticationController.doPassportLogin`

* Update tests `AuthenticationController.doPassportLogin`

* Add test on error handling for `AuthenticationController.doPassportLogin`

* Add test on error handling for `V1LoginController.doLogin`

* Extract error handling to `getErrorObject` function

* Simplify code

* Add `Metrics` calls

* Add `password is too long` in AuthenticationController

* Make `info` object consistent with the rest of the codebase

* Move error handling to `AuthenticationManager.handleAuthenticateErrors`

* Move `handleAuthenticateErrors` to other file

I moved this solely because I didn't manage to test it otherwise

* Update tests

* Remove `preDoPassportLogin` hook call

* Remove test on `preDoPassportLogin`

* Use try/catch block instead of `.catch()`

* Revert "Use try/catch block instead of `.catch()`"

This reverts commit 3475afa93ce4af7ad55c91bfc1d7ad3317600ea5.

* Replace `.catch` by `try/catch`

GitOrigin-RevId: 3fba65c30a2c5fc6e5abcd5b83c52801852ed462
2024-07-31 08:05:07 +00:00
Antoine Clausse
5f2718cf29 [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
Antoine Clausse
afd965c04b [web] Remove overleaf-integration overrides for /user/emails/delete & /user/emails/resend_confirmation (#19438)
* Use hooks to call `clearSamlSession`

* Promisify `UserEmailsController.remove`

* Use hook for `userDeleteEmailMiddleware`

* Remove `/user/emails/delete` override

* Remove "removeRoute of `/user/emails/resend-secondary-confirmation`"

That route isn't defined elsewhere

* Promisify `UserEmailsController.resendConfirmation`

* Promisify `UserEmailsController.sendReconfirmation`

* Use hook for `resendConfirmationEmailMiddleware`

* Remove `/user/emails/resend_confirmation` override

* Promisify `tryDeleteUser`

* Proxy `clearSamlSession` through `SAMLHelper`

* Revert "Use hook for `resendConfirmationEmailMiddleware`"

This reverts commit f028d9c8

* Inject `SAMLMiddleware.resendConfirmationEmailMiddleware` in `/user/emails/resend_confirmation`

* Update `middleware` syntax and grammar

* Update tests

* Use Module middleware instead of hook for `userDeleteEmailMiddleware`

* Remove "promises" export of tryDeleteUser

GitOrigin-RevId: 211e194fc1ef82dc452ee4e837dcddd9b23690a0
2024-07-29 08:04:24 +00:00
Jimmy Domagala-Tang
918c3e7e33 Merge pull request #19301 from overleaf/jdt-collaborator-ai-usage
Prevent AI usage on projects where collaborators have a blocking policy

GitOrigin-RevId: 93bdd9c5accff51a14f0585249e13ed7f1fa4e53
2024-07-26 08:04:35 +00:00
David
d7357b4d62 Merge pull request #19400 from overleaf/dp-duplicate-file-folder-name
Improvements to handling of file/folder upload conflicts

GitOrigin-RevId: 526edf30dfbaec7ee1e03ffd156365f09be25e86
2024-07-25 08:05:08 +00:00
Alf Eaton
7e136131c0 Promisify Metadata feature (#19361)
GitOrigin-RevId: 962aa9dbbc41a49c2c3120af9a1254a4db85387b
2024-07-24 08:05:19 +00:00