Commit graph

3799 commits

Author SHA1 Message Date
Brian Gough
344b4d0fa0 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
554be73a36 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
David
635aae7b1f Merge pull request #18320 from overleaf/dp-add-secondary-prompt-ui
Add secondary email form V2 (with Captcha this time)

GitOrigin-RevId: b06216a2c9cb5b3b09305a17992eca506a0047f5
2024-05-27 10:22:40 +00:00
Eric Mc Sween
876ee4d967 Merge pull request #18225 from overleaf/em-typescript-eslint
Add typescript-eslint rule: no-floating-promises

GitOrigin-RevId: 8c3decdff537c885f5bfeb5250b7805480bc6602
2024-05-27 10:22:20 +00:00
Antoine Clausse
3300811d3a [web] Simplify removeSessionsFromRedis signature (#18440)
* Simplify `removeSessionsFromRedis` signature

* Update usage of `removeSessionsFromRedis`

* Fix tests around `removeSessionsFromRedis`

* Add comments "remove all sessions except the current session"

GitOrigin-RevId: 03bf99c14faf2c8e403bc4bcc16463a70e031284
2024-05-27 10:21:30 +00:00
Antoine Clausse
78a0bc2b05 [web] Convert RecurlyWrapper functions to async (#18384)
* Rename `RecurlyWrapper` to `promises`, as it will only contain the promises soon

* Update `apiRequest`

* Update `_parseXml`

* Update `_parseXmlAndGetAttribute`

* Update `_parse*Xml`

* Update `updateAccountEmailAddress`

* Update `checkAccountExists`

* Update `createAccount`

* Update `createBillingInfo`

* Update `setAddressAndCompanyBillingInfo`

* Update `createSubscription`

* Update `_createPaypalSubscription`

* Update `_handle422Response`

* Update `_createCreditCardSubscription`

* Update `createSubscription`

* Update `getSubscriptions`

* Update `getSubscription`

* Update `getPaginatedEndpoint`

* Update `getAccount`

* Update `getAccountActiveCoupons`

* Update `getCoupon`

* Update `getBillingInfo`

* Update `getAccountPastDueInvoices`

* Update `attemptInvoiceCollection`

* Update `updateSubscription`

* Update `createFixedAmmountCoupon`

* Update `lookupCoupon`

* Update `redeemCoupon`

* Update `extendTrial`

* Update `listAccountActiveSubscriptions`

* To find which functions to add as callbackified, I used this Regex:
`RecurlyWrapper\.(?!promises)[^.\s]*`

And after adding callbackified functions, we're left with no results with the Regex:
`RecurlyWrapper\.(?!promises|apiUrl|_buildXml|_parseXml|attemptInvoiceCollection|createFixedAmmountCoupon|getAccountActiveCoupons|getBillingInfo|getPaginatedEndpoint|getSubscription|updateAccountEmailAddress)[^.\s]*`

* Update unit tests

* Test `getSubscription` both as "promise" and as "callback"

I'm not sure if we want to generalize this.

* Fix: add missing `await`s (!!)

* Change `apiRequest` to reject errors instead of resolving it in an object

* Fixup for CollectPayPalPastDueInvoice test

* Fix: callbackify `getSubscriptions` (!!)

* Replace `.then(...)` chain by multiple `await`

* Fixup `attemptInvoicesCollection`: prevent reading length of undefined

* Use `return await` when returning promises

Per https://github.com/overleaf/internal/pull/18384#pullrequestreview-2065738771

GitOrigin-RevId: ceda755b24fd29f97a27e60ac5db9bc7e369f932
2024-05-27 10:21:26 +00:00
ilkin-overleaf
d56f5a3030 Merge pull request #18424 from overleaf/ii-delete-with-body-fe
[web] Replace delete with post requests when having body (FE)

GitOrigin-RevId: df727f35ea77eaa8273687f75aafd9bd983b7f25
2024-05-21 08:04:48 +00:00
Alf Eaton
e7827fbd57 Validate URL protocol before opening from Visual Editor tooltip (#18393)
GitOrigin-RevId: 1da255d3e8ccd91e8c8774d140ec663906be948f
2024-05-21 08:04:26 +00:00
Eric Mc Sween
dfd1652c35 Merge pull request #18375 from overleaf/em-promisify-chat-api-handler
Promisify ChatApiHandler

GitOrigin-RevId: 83cedb14b5e2b187fb2cb02fcbf888ada5a599b1
2024-05-20 08:04:22 +00:00
Antoine Clausse
25d8e053be [web] Update revokeAllUserSessions and rename it to removeSessionsFromRedis (#18360)
* Fix `revokeAllUserSessions` call in `_cleanupUser`

The user object should be passed, not the _id

* Change `revokeAllUserSessions` signature, take `req` and `stayLoggedIn` arguments

* Update uses of `revokeAllUserSessions`

* Fix promisified `revokeAllUserSessions` args

* Update tests

* Destroy or Regenerate the session in the end of `revokeAllUserSessions`

Per https://github.com/overleaf/internal/issues/17036#issuecomment-1938398570

* Revert "Destroy or Regenerate the session in the end of `revokeAllUserSessions`"

This reverts commit fe30734dbe45b27d2931d2e43a711d591bb85787.

* Rename `revokeAllUserSessions` to `removeSessionsFromRedis`

* Fixup tests

* Fix: add optional chaining in `req.sessionID` (!!)

GitOrigin-RevId: d41676bf00f463230af495e09c65fb9ee521f49f
2024-05-20 08:04:12 +00:00
M Fahru
9f86f90a08 Merge pull request #18095 from overleaf/mf-general-contact-form-redesign
[web][website-redesign] General contact form redesign

GitOrigin-RevId: f5f3a37fea69afb48a37b263695c958e6753e095
2024-05-17 08:04:53 +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
Rebeka Dekany
3ef06d57c6 Merge pull request #18256 from overleaf/rd-a11y-form
[web] Create accessibility survey link on the project dashboard

GitOrigin-RevId: 49503da67347c9e0e15a10f041252f25f0effc15
2024-05-15 08:05:28 +00:00
ilkin-overleaf
482bd7fb9c Merge pull request #18103 from overleaf/ii-bs5-forms
[web] Bootstrap 5 form elements

GitOrigin-RevId: 7d031bed07007d0aa00a43f06d25bfb7384dee87
2024-05-15 08:05:11 +00:00
Antoine Clausse
9419cc3b37 [web] Add tests to collect_paypal_past_due_invoice.js + update logging (#18310)
* Fix: Invoices collected array length comparison

Update the code with the correct condition to respect the intent of the previous implementation ("exit with non zero code when no invoicess were processed").
See 5476f39984

However, I'm not sure if erroring when no invoices are collected is actually what we want to do.

* Wrap `collect_paypal_past_due_invoice` script and export the function

* Fixup typo `accoutns`

* Log invoices collection data before throwing

* Add note: `handleAPIError` is silencing the errors

* Create a test on `collect_paypal_past_due_invoice`

* Replace `console.log` by `@overleaf/logger` (bunyan)

Our `console.warn` show up as Errors (in red) in GCP. For example the following is an error in GCP:
```
Errors in attemptInvoiceCollection with id=2693634 OError: Recurly API returned with status code: 400
```
https://github.com/overleaf/internal/blob/5476f39/services/web/scripts/recurly/collect_paypal_past_due_invoice.js#L9

---

Does it correctly set the levels as warnings if we use `@overleaf/logger`

GitOrigin-RevId: 37c8bdf4afd8cef4706700aafb44480ec8966a74
2024-05-15 08:04:46 +00:00
David
6718729087 Merge pull request #18318 from overleaf/dp-revert-secondary-email
Revert "Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui"

GitOrigin-RevId: d8af37a5c332ac21ddd4c85679553df0bda326f9
2024-05-14 08:04:11 +00:00
David
0630e96d49 Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui
Add UI for secondary email prompt

GitOrigin-RevId: 887b2c7f0047f19b605f03745f7dda83926ec70b
2024-05-14 08:04:01 +00:00
Jakob Ackermann
9ea6b2f8b1 Merge pull request #18252 from overleaf/jpa-refactor-for-flaky-test
[web] refactor background job for setting root doc automatically

GitOrigin-RevId: 719c010eb3e5b692908b7a6fea9d8522b9fc01b9
2024-05-09 08:05:23 +00:00
Jakob Ackermann
9c5eb9630b Merge pull request #18222 from overleaf/jpa-socket-io-mock
[web] replace socket.io-mock with simple EventEmitter based interface

GitOrigin-RevId: 012e4263367a83e16efea3947f310a2de9a65279
2024-05-09 08:05:14 +00:00
Jessica Lawshe
c6b88085d5 Merge pull request #18188 from overleaf/jel-react-group-invite
[web] Migrate team invite to React

GitOrigin-RevId: 32e968c3b512020aef9a396808c73a7b4859e6d1
2024-05-09 08:05:03 +00:00
Alf Eaton
c1c098e2f9 Allow files to be dragged from the file tree into the editor (#15028)
GitOrigin-RevId: f926666c032d1398a0e3f72a298116a3c7a9cd75
2024-05-09 08:04:46 +00:00
Alf Eaton
cb297e342a [visual] Improve handling of pasted lists (#14912)
GitOrigin-RevId: 15e91ef6807433c5fb0a9bedbd5fea42ac35a5f0
2024-05-09 08:04:42 +00:00
David
0c20c86878 Merge pull request #18178 from overleaf/dp-insert-figure-translations
Add translations for insert figure dropdown

GitOrigin-RevId: 6ffbf0229f7ac222619271688517bc50339c10f6
2024-05-06 08:04:16 +00:00
Alf Eaton
9729befe59 Merge pull request #18170 from overleaf/ae-token-access-page
Convert token access page to React

GitOrigin-RevId: d7434f0de395c47a95d00767727fbe9d43f9abca
2024-05-03 08:05:01 +00:00
Alf Eaton
ab5495023a [visual] Add support for description list environments (#13460)
GitOrigin-RevId: d1ddfeed4ba453afa348e57d75fdb3e12d29f5fc
2024-05-03 08:04:53 +00:00
Jakob Ackermann
4c49841637 Merge pull request #18153 from overleaf/jpa-validate-session-in-store
[web] check for redis connection being out of sync in session store

GitOrigin-RevId: c271e88d4e1fbcb0f7a57f4775e8ef88b70b16a8
2024-05-03 08:04:25 +00:00
Jakob Ackermann
0576e02127 Merge pull request #18152 from overleaf/jpa-stricter-session-validation
[web] stricter session validation

GitOrigin-RevId: 3ef916318fde7f31e3e3fd0f7082dde7a2975a27
2024-05-03 08:04:20 +00:00
Jessica Lawshe
ae0abd6445 Merge pull request #18159 from overleaf/jel-group-invite-header
[web] Break word on group invite header

GitOrigin-RevId: 790c24e8291f1dbdfa9231e4c9e3d4e531bf2b8f
2024-05-02 08:03:52 +00:00
Antoine Clausse
a26c655220 Delete 3 migration scripts for compile-timeouts (#18163)
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 2d66052994159b6d902b807f02488095d65562e1
2024-05-01 08:05:00 +00:00
Antoine Clausse
6a6f155029 [web] Use React hooks to get split-test variants instead of getSplitTestVariant (getMeta) (#18133)
* Fix split-tests loading in React component: use `useSplitTestContext` instead of `getSplitTestVariant`

* Replace use of `isSplitTestEnabled` by `useSplitTestContext`

* Add SplitTestProvider to roots, and fix tests

* Create `useFeatureFlag` hook

* Use `useFeatureFlag` where applicable

GitOrigin-RevId: 9ff7bb3975d50bc4d07d74d93c482d56dc96f615
2024-05-01 08:04:55 +00:00
Andrew Rumble
9c3d9ef590 Merge pull request #17935 from overleaf/ar-refactor-compile-async
[web] make CompileManager async

GitOrigin-RevId: 617bde1f429fa9aafc7d4bf4ec628b2a22386b19
2024-04-30 08:04:43 +00:00
Antoine Clausse
cdd79e8ec0 Fix: unset recent users featuresUpdatedAt after wrong update (#18149)
* Copy previous script

* Remove `featuresUpdatedAt` that was wrongly set on recent users

* Fix! `signupDate` -> `signUpDate`

* Add test on `migration_compile_timeout_60s_to_20s_fixup_new_users.js`

* style: `$unset: { featuresUpdatedAt: 1 }` -> `$unset: { featuresUpdatedAt: '' }`

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

* Add comment on test (https://github.com/overleaf/internal/pull/18149#discussion_r1582999534)

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

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 408f5c7d48e60722aba736167b8e8858e9570d99
2024-04-30 08:04:33 +00:00
Antoine Clausse
711d50a2f1 [web] Create script to update forgotten featuresUpdatedAt after the migration to 20s compile timeout (#18113)
* Copy `migration_compile_timeout_60s_to_20s.js` script

* Update `featuresUpdatedAt`

* Add a comment about `featuresUpdatedAt` in migration_compile_timeout_60s_to_20s.js

* Fix test on migration_compile_timeout_60s_to_20s.js

* Fix: Include users having `featuresUpdatedAt` undefined in the update

* Add test on `migration_compile_timeout_60s_to_20s_fixup_features_updated_at`

GitOrigin-RevId: 4b2baf955a6a9f39bf9ce00b7839af551064c6cb
2024-04-30 08:04:28 +00:00
Brian Gough
29105911c5 Merge pull request #17732 from overleaf/bg-session-mitigation-initial-protoype
anonymous cookie-based sessions module

GitOrigin-RevId: 75fe2d48fa384ba8d07c0b478a9a5a907a2b3b67
2024-04-26 08:04:54 +00:00
Jakob Ackermann
a540754f6e Merge pull request #18116 from overleaf/jpa-bulk-replace-localhost
[misc] bulk replace localhost with 127.0.0.1

GitOrigin-RevId: d238f3635302e8ff5500d611108c4d1bef216726
2024-04-26 08:04:39 +00:00
David
c2448ff3d2 Merge pull request #17947 from overleaf/dp-secondary-email-confirmation-code
Add endpoints for secondary email confirmation by code

GitOrigin-RevId: c2829672fd9aeca457f76958d4922b9c95086f26
2024-04-26 08:04:00 +00:00
Jessica Lawshe
8d1885cd50 Merge pull request #18073 from overleaf/jel-sso-disabled-email-alert
[web] Send SSO disabled email to non-managed and linked users

GitOrigin-RevId: d5e6739efd432b396dcd7fa3dd37e18d2b9dc933
2024-04-25 08:05:30 +00:00
Jessica Lawshe
0b86bc04ad Merge pull request #18045 from overleaf/jel-user-settings-sso-groups
[web] Use `getUserGroupsSSOEnrollmentStatus` helper

GitOrigin-RevId: 4846d513964a63afb620ee2dbb5b810dd0aa4e60
2024-04-25 08:05:22 +00:00
Jessica Lawshe
a815ba6e5c Merge pull request #17912 from overleaf/jel-sso-enroll-after-login
[web] Redirect to group SSO enrollment page after log in

GitOrigin-RevId: 4c0937de6f009cd6e7e094569eb9ad46606a763b
2024-04-25 08:05:10 +00:00
Jessica Lawshe
94e9456a4b Merge pull request #17793 from overleaf/jel-password-token-when-managed-linked
[web] Check permissions when using password reset token

GitOrigin-RevId: b5339d5ad5322fcae7beaa99fb40a87ffb938b52
2024-04-25 08:04:58 +00:00
Alf Eaton
a697f9e7b0 Disable the file tree "create file" name input while a request is in flight (#18001)
GitOrigin-RevId: ef505220e8cff1dce4c84483edacd96cc87bb1aa
2024-04-25 08:04:33 +00:00
ilkin-overleaf
1e7053cb8e Merge pull request #17921 from overleaf/ii-bs5-alert-continue
[web] Replace all alerts with notifications in settings page

GitOrigin-RevId: a05755c39d2e54b3f57ffa589885e3e96aee00dc
2024-04-24 08:04:35 +00:00
Mathias Jakobsen
5aee58c6f4 Merge pull request #17956 from overleaf/mj-web-promisify-restore-manager
[web] Promisify RestoreManager

GitOrigin-RevId: cd3395f8cb7b90e19828297e1c89c1d3850877a6
2024-04-24 08:04:26 +00:00
Alf Eaton
45ee8aca93 [visual] Handle Enter in an empty list item at the end of a nested list (#18034)
GitOrigin-RevId: 4b3f24c7cf18837ba87859340991d9bb2532560a
2024-04-24 08:04:17 +00:00
David
ce00af7838 Merge pull request #18011 from overleaf/dp-make-_getRedirectFromSession-public
Make _getRedirectFromSession a public method

GitOrigin-RevId: 6538e4ec25e607d32beb944370d151d4f1a3709c
2024-04-24 08:04:13 +00:00
Alf Eaton
98cefaa5bd Remove "upgrade to annual" page (#18014)
GitOrigin-RevId: b9f92ad038adab7fc7eb5e2a7175461bfefee379
2024-04-24 08:04:04 +00:00
Alexandre Bourdin
1336b2daeb Merge pull request #18058 from overleaf/ab-split-test-convert-race-cond-fix
[web] Prevent failure due to race condition where converting anon assignments

GitOrigin-RevId: 81eb16689724b9ddc2ec7e23df2c3ea55837b83c
2024-04-23 08:05:54 +00:00
Alf Eaton
cca569e22c Allow read-only users to close the review panel (#18040)
GitOrigin-RevId: 93a470152da6dd215db07e3060621f32e5ae701d
2024-04-23 08:05:35 +00:00
Alexandre Bourdin
9fc6fa9b77 Merge pull request #18017 from overleaf/ab-convert-assigned-at-date
[web] Transform assignedAt back to date for conversion

GitOrigin-RevId: bd0213b337f765d8512386f9f5d3fc6d03572e33
2024-04-23 08:04:52 +00:00
Alexandre Bourdin
3022f573e9 Merge pull request #18022 from overleaf/revert-18018-revert-17906-ab-split-test-assignments-optim-pt2
Revert "Revert "[web] Store anonymous users split test assignments in new format in session""

GitOrigin-RevId: bd48a21c17df91eda1536378d8d999a1933e83a2
2024-04-23 08:04:47 +00:00
roo hutton
06cac44d84 Merge pull request #18021 from overleaf/rh-mailchimp-api
[web] Replace node-mailchimp with own MailChimpClient

GitOrigin-RevId: 10207620c48f30ad29f4f0e7ea5193c11d256902
2024-04-22 08:04:33 +00:00
roo hutton
9601fd097a Merge pull request #17946 from overleaf/rh-promisify-third-party-identity-
[web] Promisify ThirdPartyIdentityManager and ThirdPartyIdentityManagerTests

GitOrigin-RevId: f7d24f73213fb0a43eb453aa21749b21ba60b83d
2024-04-22 08:04:28 +00:00
ilkin-overleaf
cccd0f06d7 Merge pull request #17908 from overleaf/ii-bs5-badge
[web] Create Bootstrap 5 badges

GitOrigin-RevId: 72355c7cf7dca2a5d16bc890d7cfa4a432dd15ba
2024-04-22 08:04:07 +00:00
Alexandre Bourdin
14bbc65e99 Merge pull request #18018 from overleaf/revert-17906-ab-split-test-assignments-optim-pt2
Revert "[web] Store anonymous users split test assignments in new format in session"

GitOrigin-RevId: 2c1a95031a9d1d99b9dfef54eb4b80264a32ba0d
2024-04-19 08:04:27 +00:00
Alexandre Bourdin
bfe75c7d31 Merge pull request #17906 from overleaf/ab-split-test-assignments-optim-pt2
[web] Store anonymous users split test assignments in new format in session

GitOrigin-RevId: a5f71f7dcad7e7b11fc6a391bd5182525b3bdf03
2024-04-19 08:04:23 +00:00
Alexandre Bourdin
bee4c95c28 Merge pull request #17907 from overleaf/ab-split-test-assignments-optim-pt1
[web] Read anonymous split test assignments in session from both old&new fields

GitOrigin-RevId: 5235bb3e7d72d5ff9e89c6543b70fb80e9f1213c
2024-04-19 08:04:11 +00:00
David
5ad70690c9 Merge pull request #17989 from overleaf/dp-test-endpoint-injection
Create an injectRouteAfter test helper method

GitOrigin-RevId: e6c7cfd47a0200b47d5074185301f15ae2182c44
2024-04-19 08:04:02 +00:00
David
0cf17478fe Merge pull request #17810 from overleaf/dp-compormised-password-prompt
Add compromised password prompt

GitOrigin-RevId: 7910a220943fcb3aa191da6d514d5bc3ae20f5a3
2024-04-19 08:03:58 +00:00
Antoine Clausse
b2ef7a935f [web] Use localized number formatting for currencies (#17622)
* Add a unit test on `SubscriptionFormatters.formatPrice`

* Add JSDoc to `formatPrice`

Also: Name the functions before exporting:
This fixes my IDE (WebStorm) navigation

* Make `'USD'` the default param instead of reassigning

* Create `formatCurrency` function

* Use `formatCurrency` in SubscriptionFormatters

* Use an `isNoCentsCurrency` logic for `CLP` `JPY` `KRW` `VND`

And remove custom `CLP` logic and locale

* Add `locale` param to `formatPrice`

* Generate `groups.json` and `localizedPlanPricing.json`

```
bin/exec web node ./scripts/recurly/recurly_prices.js --download -o prices.json
bin/exec web node ./scripts/plan-prices/plans.js -f ../../prices.json -o dir
```

* Update scripts/plan-prices/plans.js to generate numbers instead of localized amounts

* Generate `groups.json` and `localizedPlanPricing.json`

```
bin/exec web node ./scripts/recurly/recurly_prices.js --download -o prices.json
bin/exec web node ./scripts/plan-prices/plans.js -f ../../prices.json -o dir
```

* Remove generation of `plans.json`

As /services/web/frontend/js/main/plans.js was removed in https://github.com/overleaf/internal/pull/12593

* Sort currencies in alphabetical order in scripts/plan-prices/plans.js

* Generate `groups.json` and `localizedPlanPricing.json`

```
bin/exec web node ./scripts/recurly/recurly_prices.js --download -o prices.json
bin/exec web node ./scripts/plan-prices/plans.js -f ../../prices.json -o dir
```

* Use `formatCurrency` in price-summary.tsx

* Use `formatCurrency` in Subscription Pug files

* Fix unit tests SubscriptionHelperTests.js

* Remove unused `currencySymbol`

* Change to `formatCurrency` in other React components

* Add `CurrencyCode` JSDoc types

* Duplicate `formatCurrency` into services/web/app/src/util

* Wrap tests in a top-level describe block

* Use `narrowSymbol`

* Fix tests with `narrowSymbol` expects

* Revert deletion of old `formatPrice` in SubscriptionFormatters.js

* Rename `formatCurrency` -> `formatCurrencyLocalized`

* Revert deletion of `CurrencySymbol`

* Add split-test in SubscriptionController.js

* Add split-test in SubscriptionViewModelBuilder.js

* Add split-test in plans

* Add split-test in subscription-dashboard-context.tsx

* Add split-test in 4 more components

* Update tests

* Show currency and payment methods in interstitial page

* Fix `&ndash;` being printed. Use `–` instead

* Fix test with NOK

* Storybook: Fix missing `SplitTestProvider`

* Storybook: Revert "Remove unused `currencySymbol`"

This reverts commit e55387d4753f97bbf8e39e0fdc3ad17312122aaa.

* Replace `getSplitTestVariant` by `useSplitTestContext`

* Use parameterize currencyFormat in `generateInitialLocalizedGroupPrice`

* Fixup import paths of `formatCurrencyLocalized`

* Replace `% 1 === 0` by `Number.isInteger`

* Add comment explaining that any combinations of languages/currencies could happen

* Fixup after rebase: import `useSplitTestContext`

* Revert "Remove SplitTestProvider from subscription root"

This reverts commit be9f378fda715b86589ab0759737581c72321d87.

* Revert "Remove split test provider from some tests"

This reverts commit 985522932b550cfd38fa6a4f4c3d2ebaee6ff7df.

GitOrigin-RevId: 59a83cbbe0f7cc7e45f189c654e23fcf9bfa37af
2024-04-19 08:03:54 +00:00
Thomas
52e6ceef67 Merge pull request #17898 from overleaf/tm-remove-twitter-login
Remove twitter login code and uninstall passport-twitter

GitOrigin-RevId: 928c877ef2a42d5881652cad7f9d563c7766fd36
2024-04-18 08:04:16 +00:00
Antoine Clausse
616bd0df16 Merge pull request #17925 from overleaf/jpa-ac-20s-timeout-migration-logging-tweaks
[web] timeout 20s split-test teardown cleanups (remove override, remove tests, ...)

GitOrigin-RevId: 8d8c44539cf45d0f5142f84cf8372cecda3bf77a
2024-04-17 08:04:30 +00:00
Jakob Ackermann
3df0fe82ce Merge pull request #17926 from overleaf/jpa-batched-update-sorting
[web] batchedUpdate: use explicit sorting to find first record to update

GitOrigin-RevId: 6f57b92a4e5907f307618bd98642b4874018e9fa
2024-04-17 08:04:09 +00:00
Jakob Ackermann
ac2ea9f34d Merge pull request #17865 from overleaf/jpa-open-in-overleaf-session-storage
[web] open-in-overleaf: cleanup redis and browser session storage

GitOrigin-RevId: af79bb49ff474545fc0d206d2a6f5a0ffa1416bc
2024-04-17 08:04:04 +00:00
Antoine Clausse
d35204033f Merge pull request #17909 from overleaf/ac-tear-down-compile-timeout-tests-2
[web]  Remove split-tests `compile-backend-class*` and `compile-timeout-20s*` (attempt 2)

GitOrigin-RevId: 5658f2977d3e7089eec5bbe7a33eee81c153e41d
2024-04-16 08:04:08 +00:00
Alexandre Bourdin
5f8db6ee23 Merge pull request #17799 from overleaf/ab-account-deletion-audit-log
[web] Add audit log when user account is deleted or recovered

GitOrigin-RevId: 3d5f99705fbd6192ccae430e040be4b7fcb3f740
2024-04-15 08:04:42 +00:00
Antoine Clausse
491bc2628d Merge pull request #17899 from overleaf/revert-17700-ac-tear-down-compile-timeout-tests
Revert "[web] Remove split-tests `compile-backend-class*` and `compile-timeout-20s*`"

GitOrigin-RevId: d5070ced06adbd435e782a44b7ef767e395bd6a0
2024-04-15 08:04:37 +00:00
Antoine Clausse
2dd10c7fee [web] Remove split-tests compile-backend-class* and compile-timeout-20s* (#17700)
* Remove split-tests of `compile-timeout-20s` and `compile-timeout-20s-existing-users`

* Remove `NEW_COMPILE_TIMEOUT_ENFORCED_CUTOFF` variables

* Revert timeout override `60` -> `20`

* Update settings.overrides.saas.js: `compileTimeout: 20`

* Remove `compile-backend-class-n2d`

* Remove `force_new_compile_timeout`

* Remove `showNewCompileTimeoutUI`

* Remove `compileTimeChanging`

* Simplify code by removing segmentation object

* Remove `CompileTimeoutChangingSoon`

* Remove `user.features.compileTimeout = '20 (with 10s prompt)'`

* Remove `CompileTimeWarning`

* Remove `TimeoutUpgradePrompt` (old)

* Remove `compile-backend-class`

* Remove unused translations

* Update tests

* Fix: Show `CompileTimeout` even if `!window.ExposedSettings.enableSubscriptions`

* Create script to migrate users to 20s compileTimeout

* migration script: exclude `compileTimeout: 20` from the match

* migration script: use `batchedUpdate`

* Remove `showFasterCompilesFeedbackUI` and `FasterCompilesFeedback`

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

* Remove `_getCompileBackendClassDetails`, simplify definition of `limits` object

* Remove `Settings.apis.clsi.defaultBackendClass`

* Remove unnecessary second scan of the whole user collection in dry mode

* Override `timeout` to 20 for users having `compileGroup === 'standard' && compileTimeout <= 60`

* Remove second `logCount`: re-run the script in dry-mode if you want to see that count

* Use secondary readPreference when counting users

* Fix script setup and exit 0

* Fix: Remove `user.` from query path!

* Add acceptance test on script migration_compile_timeout_60s_to_20s.js

GitOrigin-RevId: 3cb65130e6d7fbd9c54005f4c213066d0473e9d8
2024-04-15 08:04:24 +00:00
roo hutton
03fb015f8f Merge pull request #17856 from overleaf/rh-deletion-email-update
[web] Use securityAlert template for user deletion email

GitOrigin-RevId: 60dfef18946710f5d5df17daca1a0bdc9800519b
2024-04-12 08:06:40 +00:00
roo hutton
754609f379 Merge pull request #17830 from overleaf/rh-reduce-staff-access-session
[web] Reduce size of staffAccess field in session

GitOrigin-RevId: 7745dc595e8096caef04fd140b47532f0775f165
2024-04-12 08:06:35 +00:00
Jessica Lawshe
955c860b64 Merge pull request #17841 from overleaf/jel-lint-populate
[web] Add linting rule for mongoose `populate`

GitOrigin-RevId: 625b2b5f9db4e88ce0d629752f083b8be71c7766
2024-04-12 08:06:18 +00:00
Jessica Lawshe
0cfcdf5e4d Merge pull request #17822 from overleaf/jel-dash-usersBestSubscription
[web] Limit data sent to dash for best subscription when group

GitOrigin-RevId: d52101bec69cbb7931e9702e085b4aeb65d9d603
2024-04-12 08:06:09 +00:00
Jakob Ackermann
c9373c25f4 Merge pull request #17873 from overleaf/jpa-await-user-login
[web] await promisified user login in ProjectStructureTests

GitOrigin-RevId: 68df8931a5c7c3843367c6fd34a66278c212ff5b
2024-04-12 08:05:20 +00:00
Jakob Ackermann
a6fb983afc Merge pull request #17871 from overleaf/jpa-bind-v4-v6
[misc] align the host for binding and requesting in tests

GitOrigin-RevId: 916521c56928329ff2cbf2817f3a0a27aeaf8c3d
2024-04-12 08:04:51 +00:00
Andrew Rumble
b053e73e76 Merge pull request #17815 from overleaf/ar-allow-labels-to-be-added-in-label-list
Allow labels to be added from label list

GitOrigin-RevId: 61abbc74aff1901f4adb16575b02148f8dbf99e2
2024-04-11 08:03:43 +00:00
roo hutton
bf7a18db8b Merge pull request #17730 from overleaf/rh-acct-delete-email
[web] Send email notification on account deletion

GitOrigin-RevId: 03c0effba0ee3b829f5b4fe377fe67d05776ba3f
2024-04-10 08:04:12 +00:00
Domagoj Kriskovic
8bde496da4 Send operations to project-history when resolving/unresolving comments (#17540)
* Send operations to project-history when resolving/unresolving comments

* small fixes

* added doc_id in web unit test

* Revert "added doc_id in web unit test"

This reverts commit f0b8251abfce17965d5e1b0e45d8784fcf1d9eed.

* fix mocked dependency in test

* wip: web unit tests

* document updater, reopen test

* document-updater tests

* format fix

* fix typo

* fix callsArgWith

* fix reopenThread calls in doc updater tests

* fix typos

* log error if chat api resolve failes

* log error when reopening thread

* sendStatus calls done() in tests

* using OError instead of logging

* removed timers

* preserve legacy endpoints

* update after merge

* Remove timer check in HttpControllerTest

* prettier

* added "legacy" in log

* remove metrics.timer

* fix promisify issues

* remove unused cb

GitOrigin-RevId: 849538c86996973a065c727835e93028e5429344
2024-04-10 08:04:08 +00:00
Andrew Rumble
9fda813e20 Merge pull request #17786 from overleaf/ar-select-caption-in-inserted-figures
Select caption text when new figure inserted

GitOrigin-RevId: 443594ff03c5a5cd316623e60b231a6af4390d3c
2024-04-09 08:04:36 +00:00
roo hutton
8644e239c6 Merge pull request #17596 from overleaf/rh-permissions-policy
[web] Add Permissions-Policy header

GitOrigin-RevId: 8934bbbda411102580d9ef8af135dcdc147627f9
2024-04-08 08:04:29 +00:00
roo hutton
67e9a40e87 Merge pull request #17680 from overleaf/rh-promisify-templates-man
[web] Promisify TemplatesManager and TemplatesManagerTests

GitOrigin-RevId: 69ff0a5f34ceb7b4c23452bb00963eda35621f3f
2024-04-08 08:04:25 +00:00
David
b1928cecef Merge pull request #17530 from overleaf/dp-teardown-onboarding-flow-split-test
Teardown onboarding flow split test

GitOrigin-RevId: 48e95e4e736772074cb68d195fc950a9da3aebcf
2024-04-08 08:04:04 +00:00
Andrew Rumble
1c1b48edab Merge pull request #17707 from overleaf/AR-modal-close-consistency-fixes
Modal "Close" button consistency fixes

GitOrigin-RevId: 55e5178c9e820fffd220f0010906546f0baa2065
2024-04-05 08:04:13 +00:00
Jessica Lawshe
5fcc7f63cd Merge pull request #17728 from overleaf/jel-fix-member-view-update
[web] Fix user view on frontend after unlinking group SSO member

GitOrigin-RevId: 375b798d23ed622453465661ced604c7068c1986
2024-04-05 08:04:00 +00:00
Jessica Lawshe
d8f870555c Merge pull request #17683 from overleaf/jel-unlink
[web] Unlink group SSO member

GitOrigin-RevId: ac3498fc72538fd0eef639c783dc7675ac593b94
2024-04-04 08:04:45 +00:00
M Fahru
d836631902 Merge pull request #17548 from overleaf/mf-promisify-render-set-password-form
[web] promisify renderSetPasswordForm

GitOrigin-RevId: 3a79a7fd23de2d7ff87a833204298aed6cc303a5
2024-03-29 09:04:26 +00:00
Mathias Jakobsen
192c497508 Merge pull request #17671 from overleaf/mj-project-projection
[web] Use projection when fetching project

GitOrigin-RevId: 4c7eb6582dba9ffa81f8d34c4e353faf1dc15c83
2024-03-29 09:04:13 +00:00
Mathias Jakobsen
48f8fe9dd6 [web] Add current history tab to admin panel (#17482)
* [web] Add current history tab to admin panel

GitOrigin-RevId: 95a479d01bdf2ca65cd9b18077823d895cc12501
2024-03-29 09:04:02 +00:00
Jessica Lawshe
b4b4fe7a1c Merge pull request #17648 from overleaf/jel-member-list-alerts
[web] Rename managed user alert variables

GitOrigin-RevId: 6a6a446d7fda4ad0b4b63ef380d9710c2b545295
2024-03-28 09:04:41 +00:00
Mathias Jakobsen
44d0b947ce Merge pull request #17553 from overleaf/mj-admin-history-ranges-enable
[web] Add button for adding history ranges support in admin panel

GitOrigin-RevId: fa85b25719fff753f0d0806ccb02ad2f9db2ee82
2024-03-28 09:03:51 +00:00
Alf Eaton
1ad2be35b5 Merge pull request #17626 from overleaf/ae-eslint-window-localstorage
Add ESLint rule that prevents direct use of window.localStorage

GitOrigin-RevId: 30abcd96ef31690a482c5368ff2a6d11024f5126
2024-03-27 09:04:15 +00:00
Alf Eaton
b2fbc39930 Improve tests for layout components (#17518)
GitOrigin-RevId: 1d08224a5282482dcf153a2ebcff69a08be2eb58
2024-03-26 09:04:24 +00:00
Alf Eaton
d319fe72a9 Add Suspense to test element container (#17520)
GitOrigin-RevId: 0d7702289870a1074cdf4bd907b55fa6f32b8457
2024-03-26 09:04:20 +00:00
Alf Eaton
6cc2db3cdd Merge pull request #17525 from overleaf/ae-upgrade-prettier
Upgrade Prettier to v3

GitOrigin-RevId: 6f1338f196408f3edb4892d5220ad3665ff1a5bc
2024-03-26 09:04:05 +00:00
Brian Gough
f2a1b49d48 Merge pull request #17593 from overleaf/bg-account-security-update-hibp-links
Update haveibeenpwnd links to use the password check form

GitOrigin-RevId: f67b1ed689c851ad3684becc38cd5eb82b0018a2
2024-03-22 09:03:13 +00:00
Thomas
8a04ec9b75 Merge pull request #17572 from overleaf/tm-email-confirmation-require-login
Prevent email confirmation unless logged in to the requesting account

GitOrigin-RevId: 28af875b2887b8bbef8327097635aa01345c682c
2024-03-22 09:03:10 +00:00
Thomas
811173d32d Merge pull request #17569 from overleaf/tm-account-suspension
Add the ability to suspend user accounts

GitOrigin-RevId: 5e57f29941434c78a47354baca83527213f9b9b5
2024-03-22 09:03:06 +00:00
Jimmy Domagala-Tang
5701a1cccd Merge pull request #17369 from overleaf/jdt-rm-old-wf-prj-list-ad
removing old writefull ad from project list and removing uneeded spli…

GitOrigin-RevId: 84722949c4972ba0b7c8e0bf6d2884608e26a613
2024-03-13 09:03:26 +00:00
Domagoj Kriskovic
3e701f1388 Send operations to project-history when deleting comments (#17198) (#17494)
* Make Operation.fromRaw parse AddComment operations

* Send operations to project-history when deleting comments

* remove RedisManager.updateDocument call

* format fix

* Revert "remove RedisManager.updateDocument call"

This reverts commit 5d45f34b5919bf5a85e8475e5a450bcb213d3f82.

* remove versions from deleteComment op

* pass userId to deleteComment operation

* revert userId from chat service

* revert userid from chat tests

* format:fix

* document updater fix tests

* format:fix

* fix web unit test

* deleteThread test fix

* send only if historyRangesSupport is true

* use headers to pass userId

* set historyRangesSupport in tests

* optional headers

* Revert "use headers to pass userId"

This reverts commit e916c469f95b1ac166e30e12e735171eb814af01.

---------

Co-authored-by: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
GitOrigin-RevId: 14c10669e43d76883dbaaa8ab55e102b5ebadd38
2024-03-12 09:03:55 +00:00
Jessica Lawshe
d65bba566c Merge pull request #17315 from overleaf/ab-accounts-settings-sso-status
[web] Show Group SSO linking status on the account settings page

GitOrigin-RevId: ae45e1bd7a90a672c5fb023e7f3e603a00e364e5
2024-03-12 09:03:43 +00:00
Jessica Lawshe
814ee0ac62 Merge pull request #17351 from overleaf/jel-async-getUserForPasswordResetToken
[web] Promisify getUserForPasswordResetToken

GitOrigin-RevId: 4b0363b390af155f1bae4332fba7cf10c130e1c6
2024-03-12 09:03:35 +00:00
Jessica Lawshe
7a9c2fd644 Merge pull request #17329 from overleaf/jel-async-peekValueFromToken
[web] Promisify peekValueFromToken

GitOrigin-RevId: 4a7f6ae793ff0a1bd22c89c963881ef0957e29e8
2024-03-12 09:03:32 +00:00
Miguel Serrano
02d890ef18 Merge pull request #17426 from overleaf/msm-expressify-controllers
[web] Expressify controller methods

GitOrigin-RevId: 9784176b53a89beed09f9b38915872a6e7fae465
2024-03-12 09:03:26 +00:00
Miguel Serrano
d2cfa26807 Merge pull request #17418 from overleaf/msm-expressify-usermembershipctlr
[web] expressify UserMembershipController

GitOrigin-RevId: 54f8d718bffb52609f055490f2a996f6c007f472
2024-03-12 09:03:20 +00:00
David
1ba5b27e57 Merge pull request #17408 from overleaf/dp-mongoose-callback-autherntication-manager
Promisify AuthenticationManager and AuthenticationManagerTests

GitOrigin-RevId: 8120bf55d19380a6ecf5241ffab8722eff2d4fe3
2024-03-12 09:03:14 +00:00
Domagoj Kriskovic
f5b894bc2e Revert "Send operations to project-history when deleting comments (#17198)" (#17476)
This reverts commit 34ab7e4ea6dd1b5fd749f9accaf4a6e16ae1d840.

GitOrigin-RevId: 005de52bcacbacf62d22cd8617d7a765f56bd72e
2024-03-11 09:04:29 +00:00
Domagoj Kriskovic
4a3a0752a4 Send operations to project-history when deleting comments (#17198)
* Make Operation.fromRaw parse AddComment operations

* Send operations to project-history when deleting comments

* remove RedisManager.updateDocument call

* format fix

* Revert "remove RedisManager.updateDocument call"

This reverts commit 5d45f34b5919bf5a85e8475e5a450bcb213d3f82.

* remove versions from deleteComment op

* pass userId to deleteComment operation

* revert userId from chat service

* revert userid from chat tests

* format:fix

* document updater fix tests

* format:fix

* fix web unit test

* deleteThread test fix

* send only if historyRangesSupport is true

* use headers to pass userId

* set historyRangesSupport in tests

* optional headers

* Revert "use headers to pass userId"

This reverts commit e916c469f95b1ac166e30e12e735171eb814af01.

---------

Co-authored-by: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
GitOrigin-RevId: 34ab7e4ea6dd1b5fd749f9accaf4a6e16ae1d840
2024-03-11 09:04:24 +00:00
David
664ba2b1f1 Merge pull request #16957 from overleaf/dp-mongoose-callback-subscription-test-helpers
Promisify Subscription acceptance test helper

GitOrigin-RevId: 0a03f994fdc65dcd3b1b33d2f777602962274ab7
2024-03-11 09:04:04 +00:00
David
9ef084d73f Merge pull request #17430 from overleaf/dp-callbackify-class
Add callbackifyClass utility

GitOrigin-RevId: 762b800ce0eff2f146147908838162f7d32bd855
2024-03-11 09:03:59 +00:00
Miguel Serrano
cf227e2d08 Merge pull request #17450 from overleaf/msm-fix-sp-welcome-page
[web] Make wiki and template links configurable in welcome page

GitOrigin-RevId: fab1b8a11f518c5907a5bfa9365ff8e8a130b7c6
2024-03-07 16:30:42 +00:00
Jakob Ackermann
1a6ac06bed Merge pull request #17432 from overleaf/jpa-wf-switch-split-test
[web] fully adopt writefull-oauth-promotion split-test

GitOrigin-RevId: b37491bc18e7cc65ec2fc8e8ced140df9f8a6048
2024-03-06 17:27:52 +00:00
David
43007539a0 Merge pull request #17380 from overleaf/dp-mongoose-callback-toke-access-handler
Promisify TokenAccessHandler and TokenAccessHandlerTests

GitOrigin-RevId: 835081e78977456a59b7e16043fd6dcbdbce3ade
2024-03-06 17:27:40 +00:00
David
887a404fdd Merge pull request #17384 from overleaf/dp-mongoose-callback-publisher-helper
Promisify Publisher acceptance test helper

GitOrigin-RevId: cce447234e32bfb93f8ce30deaf7fa21838e9176
2024-03-06 17:27:37 +00:00
Miguel Serrano
ac48d81987 Merge pull request #17373 from overleaf/jpa-figure-modal-options
[web] hide figure modal import options as configured server side

GitOrigin-RevId: f8907a33d413fcac238b00328eaba14d64f2f31b
2024-03-06 17:27:32 +00:00
ilkin-overleaf
1c34a3fa68 add missing token access fields to projects (#17372)
GitOrigin-RevId: d2eca00c40af65f0309f4b196fc3b5f043761729
2024-03-06 17:27:26 +00:00
Jakob Ackermann
9daacea6cb Merge pull request #17409 from overleaf/jpa-check-before-hibp
[web] check user password before HIBP check

GitOrigin-RevId: 7c1bdc220fb9369733a1ff3bf26bed8cacc8e8d4
2024-03-05 09:03:46 +00:00
Jakob Ackermann
84a2b25a3c Merge pull request #17401 from overleaf/jpa-skip-hibp-known-device
[web] skip HIBP check from known devices

GitOrigin-RevId: 897df02492aafeac010753c7c306e02bde5b1fd8
2024-03-05 09:03:37 +00:00
Jakob Ackermann
001af76f15 Merge pull request #17399 from overleaf/jpa-hibp-login
[web] check HIBP on login

GitOrigin-RevId: e052926e4d970f9a15821f1ea9c8af46bdab90cb
2024-03-05 09:03:34 +00:00
David
857a45edeb Merge pull request #17171 from overleaf/dp-mongoose-callback-project-collabratec
Promisify ProjectCollabratecDetailsHandler and ProjectCollabratecDetailsHandlerTest

GitOrigin-RevId: efd911dcbba58f706adfd3b7a5c043280f6cc1af
2024-03-05 09:03:22 +00:00
David
db1508be69 Merge pull request #17075 from overleaf/dp-mongoose-callback-subscription-group-handler
Promisify SubscriptionGroupHandler and SubscriptionGroupHandlerTests

GitOrigin-RevId: 998ebb56f9cffe59f7cb490220bccbeedb133a7b
2024-03-05 09:03:19 +00:00
David
6551aba1a5 Merge pull request #17005 from overleaf/dp-mongoose-callback-subscription-handler
Promisify SubscriptionHandler and SubscriptionHandlerTests

GitOrigin-RevId: b34328ee2cca4449a02723a587a1bfb887ed847a
2024-03-05 09:03:15 +00:00
Jessica Lawshe
cb3f70f7ab Merge pull request #17289 from overleaf/jel-permissions-controller
[web] Move user permissions check to manager

GitOrigin-RevId: 8c59d053da3d8d452cd424b04baa05f5d7d9057a
2024-02-29 09:04:37 +00:00
David
84c3dc1fff Merge pull request #17268 from overleaf/dp-remove-old-mongo-metrics
Remove timeAsyncMethod mongo metrics

GitOrigin-RevId: 1ba3a1fd51b9d0766355c31791ae9836d832afe8
2024-02-29 09:04:19 +00:00
David
6d99f6dfae Merge pull request #17201 from overleaf/dp-ip-rate-limit
Add subnet rate limiter for login rate limit

GitOrigin-RevId: c9f68829887dbc1778eff3b465dbde40bc2073d8
2024-02-29 09:04:15 +00:00
David
3c98e028f5 Merge pull request #17206 from overleaf/dp-mongoose-callback-institutions-manager
Promisify InsitutionsManager and InstitutionsManagerTests

GitOrigin-RevId: 0872aabb646ee143f51a92608f91d7901723ec0c
2024-02-29 09:04:11 +00:00
David
6a96e160d9 Merge pull request #17079 from overleaf/dp-mongoose-callback-subscription-locator
Promisify SubscriptionLocator and SubscriptionLocatorTests

GitOrigin-RevId: 9956a72d0cd94cb0b89da0fc1ec9c0e06fdcfeea
2024-02-29 09:04:07 +00:00
David
0827139e48 Merge pull request #17155 from overleaf/dp-mongoose-callback-user-registration-handler
Promisify UserRegistrationHandler and UserRegistrationHandlerTests

GitOrigin-RevId: b561f5574883b016824077e971aa4613b44a42dd
2024-02-29 09:04:03 +00:00
Jessica Lawshe
c704a4b79a Merge pull request #17257 from overleaf/jel-delete-sso-config-users-cleared
[web] Clear users linking data when deleting group SSO config

GitOrigin-RevId: 1c1f63a747f422a646c763f771a8237f91182c38
2024-02-27 17:02:19 +00:00
Jessica Lawshe
6af122f5a2 Merge pull request #17221 from overleaf/jel-acceptance-tests
[web] Update SAML and group acceptance tests helpers

GitOrigin-RevId: b31abf1e8d34169b5ee428186b6168c083a72d46
2024-02-27 17:02:15 +00:00
Alf Eaton
a68af43a4d Skip ProjectInviteTests (#17312)
GitOrigin-RevId: 5fd65b51a845fef59591cf58eb13b0e8087ec284
2024-02-27 17:02:05 +00:00
Brian Gough
6bd5038791 Merge pull request #17282 from overleaf/bg-object-id-unit-tests-ii
add unit tests for ObjectId comparison with chai and sinon

GitOrigin-RevId: e23156f6fd95f37d447f7569a01916c71bf04ede
2024-02-27 09:03:04 +00:00
ilkin-overleaf
b04247dd5a Merge pull request #17023 from overleaf/ii-token-access-null-values
[web] Fix projects token access values

GitOrigin-RevId: f0c6a4993e42320c06753cb65198138afe55b71a
2024-02-26 09:03:13 +00:00
Miguel Serrano
f4454cfe7e [web] Make SamlLogHandler.log() calls asynchronous (#17207)
* [web] Refactor exports in ErrorController

* [web] Make SamlLogHandler.log() async

* [web] await for SamlLogHandler.log() in ErrorController

* [web] await for SamlLogHandler.log() in SAMLMiddleware

* [web] await for SamlLogHandler.log() async controllers

* [web] await for SamlLogHandler.log() in SAMLManager

* [web] Remove explicit wait when testing SAML logs

After making the logs asynchronouse the wait
is no longer needed

* [web] Avoid using async with SamlLogHandler.log on callbacks

* Add expressifyErrorHandler to promise-utils

* Tighten assertion in SAMLMiddlewareTests

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

* Updated SamlLogHandler.log to await for promise

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 3645923fae8096a9ba25dc9087f1a36231528569
2024-02-23 09:03:14 +00:00
Alf Eaton
680c9b9570 Redirect Safari <= 13 to unsupported browsers page (#17123)
GitOrigin-RevId: 8cc508eb7f4f68c5864e102b2d4af9c8920800ae
2024-02-23 09:03:09 +00:00
M Fahru
dc9b0aa8a5 Merge pull request #17230 from overleaf/mf-tear-down-inr-2
[web] Tear down INR split test

GitOrigin-RevId: 90c6ab4666d9281e804b279d697d6c14ffd682d2
2024-02-22 09:05:02 +00:00
Alf Eaton
6212f340d3 Allow individual docs to be downloaded from the file tree (#17137)
GitOrigin-RevId: d0b2ce9f3a252e34f452155ed83c3c04e7916ef0
2024-02-22 09:04:48 +00:00
ilkin-overleaf
6e95e230e8 Merge pull request #17192 from overleaf/ii-dictionary-modal
[web] Remove dictionary word only if request is successful

GitOrigin-RevId: 43ffd0dac3ca9729213cf7901f39094c54806412
2024-02-21 09:03:33 +00:00
Jessica Lawshe
f8094bbdb6 Merge pull request #17060 from overleaf/jel-password-linked-group-sso
[web] Prevent updating password for managed users linked to group SSO

GitOrigin-RevId: f40bba47575cfac1b1e42d3138112c0db4f7865c
2024-02-20 09:06:06 +00:00
Jessica Lawshe
d5639794c2 Merge pull request #17166 from overleaf/ab-fix-group-settings-label
[web] Cleanup managed users env var and fix group settings label

GitOrigin-RevId: 817ed86a6c94c03adb41e8c10115d6404180142e
2024-02-20 09:05:54 +00:00
Alf Eaton
bafc2189e3 Add this.clock.restore() to TutorialHandlerTests (#17191)
GitOrigin-RevId: 25fd72019cdec17058636bb8c738b24cbb6c4305
2024-02-20 09:05:34 +00:00
Miguel Serrano
eadbe8cddc Merge pull request #17189 from overleaf/revert-17184-msm-run-all-fake-timers
Revert "[web] Run fake timers with runAll() instead of next()"

GitOrigin-RevId: 878e18275e3b65cccc1441de4fe647601b5c6321
2024-02-20 09:05:26 +00:00
Miguel Serrano
05edb22be0 Merge pull request #17184 from overleaf/msm-run-all-fake-timers
[web] Run fake timers with runAll() instead of next()

GitOrigin-RevId: 5ba89d66487a0222d17dbf576e9eeab76a572b0e
2024-02-20 09:04:51 +00:00
Miguel Serrano
079a86ec53 Merge pull request #17182 from overleaf/msm-add-checks-invite-tests
[web] Add extra checks testing invite creation

GitOrigin-RevId: ae3d28c94b31ac07a81e006c4c3685c4400e0662
2024-02-20 09:04:46 +00:00
David
0f05623e16 Merge pull request #17084 from overleaf/dp-mongoose-callback-system-message-manager
Promisify SystemMessageManager and SystemMessageManagerTests

GitOrigin-RevId: b8fafdfdba817160c1b18cf7eb0270a27adf114c
2024-02-20 09:04:38 +00:00
David
148f6d6f96 Merge pull request #17065 from overleaf/dp-mongoose-callback-inactive-project-manager
Promisify InactiveProjectManager and InactiveProjectManagerTests

GitOrigin-RevId: 985d0d4c80bfd1e46fa3c85c98203432459bdc84
2024-02-20 09:04:33 +00:00
David
aea6264700 Merge pull request #16692 from overleaf/dp-mongoose-callback-project-getter
Promisify ProjectGetter and ProjectGetterTests

GitOrigin-RevId: 373492da963912f2de923f65c53df284c919279d
2024-02-20 09:04:24 +00:00
Jessica Lawshe
4ad6d3cb5f Merge pull request #17091 from overleaf/jel-promisify-password-reset
[web] Promisify password reset

GitOrigin-RevId: bc8399727a86276b1d5baa380369d988772c268a
2024-02-19 09:04:29 +00:00
Jakob Ackermann
b2dd70e0b4 Merge pull request #17107 from overleaf/jpa-x-update-source-2
[misc] remove ShareLaTeX branding from X-Update-Source header 2/2

GitOrigin-RevId: bebe0212a1f7b4c965cd55a22357e52dfce6dd30
2024-02-19 09:04:09 +00:00
Jakob Ackermann
5889aa1c1b Merge pull request #17106 from overleaf/jpa-x-update-source-1
[misc] remove ShareLaTeX branding from X-Update-Source header 1/2

GitOrigin-RevId: 435924b8f0f50016fe5bb1df7b960707babbb286
2024-02-19 09:03:44 +00:00
Jakob Ackermann
4804cd68a5 Merge pull request #17105 from overleaf/jpa-tpds-cleanup
[misc] cleanup for tpds queues

GitOrigin-RevId: 8a501a692fa20d8956ad9dc4fccc0447c9f6fbe5
2024-02-19 09:03:41 +00:00
Alexandre Bourdin
42b5f91b9f Merge pull request #17153 from overleaf/ab-send-group-sso-invite-self
[web] Send the SSO linking invite when the group admin is adding self to the group

GitOrigin-RevId: f87ce6cfb006a0e353394e4102881e6220e5e6d9
2024-02-19 09:03:22 +00:00
Alexandre Bourdin
0ed6e0be17 Merge pull request #17088 from overleaf/ab-skip-deleting-group-sub-if-sso-enabled
[web] Skip deleting expired group subscription if group SSO is enabled

GitOrigin-RevId: 2e4f2105e9f024b6f421d8e50dffa3367ee68964
2024-02-19 09:03:15 +00:00
Alf Eaton
f4b176c93d Preserve folder structure when uploading folders (#16502)
GitOrigin-RevId: 791233ce1e68920a4f2d7042ed4c60ca3f4be8fb
2024-02-16 09:05:07 +00:00
Alf Eaton
5650b38069 Only validate segmentation values for Mixpanel (#16889)
GitOrigin-RevId: 3cb9de7648d1ba1f9faa8720eb57370e224c0c8c
2024-02-16 09:04:50 +00:00
Alexandre Bourdin
b662b0742f Merge pull request #17030 from overleaf/ab-fix-sso-enable-clearing-attributes
[web] Fix SSO config update when enabling and block enabling unvalidated config

GitOrigin-RevId: 27b043117d5599d327e2322acd3901fc7286ab6b
2024-02-14 09:05:29 +00:00
Alexandre Bourdin
308708d8a7 Merge pull request #16991 from overleaf/ab-sso-login-url
[web] Change /institutional-login URL to /sso-login

GitOrigin-RevId: 0856f3f63e3bba3431dd554b4b65fe913d8a50fe
2024-02-14 09:05:15 +00:00
Alexandre Bourdin
0d00c3952c Merge pull request #16924 from overleaf/jel-clear-sessions-after-linking
[web] Clear other sessions after linking group SSO for managed users

GitOrigin-RevId: 0671154a34bf67532bad64f1abbdb8a332ab480a
2024-02-14 09:05:10 +00:00
Tim Down
bbb5804c39 Merge pull request #16815 from overleaf/td-uuid-frontend-upgrade
Upgrade uuid in web front end

GitOrigin-RevId: 1928848fdf879c270effca12cd390a223007ea79
2024-02-13 09:03:45 +00:00
Jakob Ackermann
385d3f9c1b Merge pull request #16980 from overleaf/jpa-join-project-remove-sl-2
[misc] joinProject: pass userId and anonymous access token in body 2/2

GitOrigin-RevId: b1a11941a6d9c7cc779769d1e97d3a0f03bed610
2024-02-13 09:03:39 +00:00
Jakob Ackermann
8523c21158 Merge pull request #16948 from overleaf/jpa-rails-sharelatex-rebranding-step-2
[web] migrate v1 api calls away from ShareLaTeX branded endpoints

GitOrigin-RevId: af08ee029d0cee8f0f171d21b4f2b0b76222b3f8
2024-02-13 09:03:35 +00:00
Jakob Ackermann
974069bf1c Merge pull request #16979 from overleaf/jpa-join-project-remove-sl-1
[misc] joinProject: pass userId and anonymous access token in body 1/2

GitOrigin-RevId: 5d7832246c7262c004c2cd465d62488384b35ee3
2024-02-12 09:03:16 +00:00
David
03bb99aeaa Merge pull request #16657 from overleaf/dp-mongoose-callback-project-update-handler
Promisify ProjectUpdateHandler and ProjectUpdateHandlerTests

GitOrigin-RevId: 312cbe71d431cf50932ab7d5501529d87f7827f2
2024-02-09 09:07:27 +00:00
David
68f011378d Merge pull request #16911 from overleaf/dp-mongoose-callback-referal-allocator
Promisify ReferalAllocator and ReferalAllocatorTests

GitOrigin-RevId: 0c68ec6176ac440504fc6501e0fad161d83d3541
2024-02-09 09:07:22 +00:00
David
d4e9d1bd89 Merge pull request #16912 from overleaf/dp-mongoose-callback-referal-features
Promisify ReferalFeatures and ReferalFeaturesTests

GitOrigin-RevId: 25c1d80c5aea2883f62b95b8646a5670340c5cf2
2024-02-09 09:07:18 +00:00
David
144e22c209 Merge pull request #16918 from overleaf/dp-mongoose-callback-referal-handler
Promisify ReferalHandler and ReferalHandlerTests

GitOrigin-RevId: b73eda0063b04227a0d58d8e9bd0dea1ff6f0af1
2024-02-09 09:07:14 +00:00
David
72eeb5a9ee Merge pull request #16936 from overleaf/dp-mongoose-callback-project-structure-tests
Promisify ProjectStructureTests

GitOrigin-RevId: c554ea42f107a52e792047a22da9aba9b4127644
2024-02-09 09:07:06 +00:00
Jessica Lawshe
03aaee84a3 Merge pull request #16945 from overleaf/ab-fix-sso-managed-users-enrollment
[web] Fix managed users enrollment clearing out SSO linking status

GitOrigin-RevId: b2083b48df1782c426794f16e2cdd767b217256c
2024-02-09 09:06:03 +00:00
Miguel Serrano
abe33de010 [web] upgrade @node-oauth/oauth2-server to ^5.1.0, (#16705)
* [web] upgrade @node-oauth/oauth2-server to ^5.1.0,

* Added `expressify` to middleware returned by Authentication.requireOauth()

* Extracted OAuth2 scope transformation to utilities

* Throw an error with undefined SAML scopes

GitOrigin-RevId: 00dfe81c707e9a3fcf9bb10e007c1fc646f7b9dd
2024-02-09 09:05:20 +00:00
Jakob Ackermann
91106239da Merge pull request #16959 from overleaf/jpa-migrate-token-tests-to-mock
[web] use MockRequest/MockResponse in EditorHttpController unit tests

GitOrigin-RevId: 11d0f06f6d3e99a771286849c8b67a505d84f7c4
2024-02-09 09:05:11 +00:00
Jakob Ackermann
63520c7076 Merge pull request #16859 from overleaf/jpa-sharelatex-cleanup
[misc] ShareLaTeX cleanup - high impact

GitOrigin-RevId: 6dcce9b0f15e30f7afcf6d69c3df36a369f38120
2024-02-09 09:04:11 +00:00
ilkin-overleaf
2f803292b4 Merge pull request #16857 from overleaf/ii-share-modal-click
[web] Clickable share modal buttons

GitOrigin-RevId: db6bef9b63e98007741d88b291a282d6ea4a68c5
2024-02-06 09:03:40 +00:00
Alf Eaton
6dc7ced2df Upgrade react-dnd (#16753)
GitOrigin-RevId: 5a62bed823b716a6e0d6d3aa57ee187d161f3346
2024-02-06 09:03:31 +00:00
Jakob Ackermann
621301618f Merge pull request #16893 from overleaf/jpa-download-pdf-dashboard-for-all
[web] enable button for downloading PDFs from dashboard for all users

GitOrigin-RevId: bd46675bc75a7772824081e3e5e3043f282594a1
2024-02-06 09:03:16 +00:00
David
8bd917242b Merge pull request #16744 from overleaf/dp-mongoose-callback-user-feature-updater
Convert UserFeaturesUpdater and UserFeaturesUpdaterTests to async/await

GitOrigin-RevId: 65cbb57d463dd9557e7e8e7643a1be160f17eebc
2024-02-06 09:03:13 +00:00
David
0e9ceb1ffd Merge pull request #16788 from overleaf/dp-mongoose-callback-user-membership-handler
Promisify UserMembershipHandler and UserMembershipHandlerTests

GitOrigin-RevId: bb33110ee750364754db53fb075a5700be003ecc
2024-02-06 09:03:08 +00:00
Tim Down
473e74ecf1 Merge pull request #16749 from overleaf/td-upgrade-joi-celebrate
Upgrade Joi and Celebrate to latest

GitOrigin-RevId: 287130f6e476c04f9eb4efdf202729452b081c40
2024-02-05 09:04:16 +00:00
Jakob Ackermann
0596e8d25c Merge pull request #16813 from overleaf/jpa-remove-legacy-registration
[web] remove legacy registration aka the public-registration module

GitOrigin-RevId: 5cbb7ecbc7da5cd0617bd1abd1f5c6eef4c05b3f
2024-02-05 09:04:09 +00:00
Jakob Ackermann
880087945e Merge pull request #16854 from overleaf/jpa-overleaf-integration-core-tests
[web] enable overleaf-integration module when running SaaS tests

GitOrigin-RevId: 36eda6ef448604a55f8dc8daac5ce29af23b6b0b
2024-02-05 09:04:05 +00:00
Alexandre Bourdin
2765991fec Merge pull request #16802 from overleaf/ab-show-certificate-status
[web] Show group SSO certificate status in config

GitOrigin-RevId: e0ffe3fad99ef70a752bdd2ca7be1d7d9bcba73c
2024-02-05 09:03:49 +00:00
Jessica Lawshe
596596efb1 Merge pull request #16860 from overleaf/jel-sso-acceptance-tests
[web] Add group SSO helpers for acceptance tests

GitOrigin-RevId: f2cec120582cecb474e705b451d06e9beced7bc9
2024-02-02 09:03:54 +00:00
Brian Gough
f9db088d57 Merge pull request #16835 from overleaf/bg-google-spam-temporarily-disable-emails
Temporarily disable onboarding emails

GitOrigin-RevId: a1967bc793fcd7b3b90f812fb8c9b9d83f704093
2024-02-01 09:03:30 +00:00
Alf Eaton
7f9d105d8c Ensure FileTreeProvider stubbed props don't change in Cypress tests (#16758)
GitOrigin-RevId: 01c7fefdef8b28af0b52007209785b478e5d8600
2024-01-30 16:49:27 +00:00
Jessica Lawshe
71ca6f05b7 Merge pull request #16737 from overleaf/jel-sso-file
[web] Get SSO import data from File rather than FileReader

GitOrigin-RevId: 89de9c614024ab6a310a6226f59c5aa8c82c64e4
2024-01-30 09:04:15 +00:00
Alf Eaton
bb0da73a36 [ide-react] Preserve scope value update watchers on watcher add (#16729)
GitOrigin-RevId: 1168577364fef6e13a58d7d96afdf4ba685fc342
2024-01-29 09:03:20 +00:00
Alf Eaton
0cde5be165 Merge pull request #14709 from overleaf/ae-context-typescript
Convert React context providers to TypeScript [don't squash!]

GitOrigin-RevId: d92a91798286978410956ab791d73c17c5086d86
2024-01-29 09:03:04 +00:00
ilkin-overleaf
a44a6a22dc Merge pull request #16662 from overleaf/ii-share-modal-click-2
[web] Share modal select contact

GitOrigin-RevId: e43575cd97ad8e4bca249967bdf0cfc587213cc4
2024-01-26 09:03:42 +00:00
Jessica Lawshe
2d3b7c5846 Merge pull request #16620 from overleaf/jel-sso-modal-notifications
[web] SSO form notifications

GitOrigin-RevId: 3b9ced2430434adb3a4fa093ad04c56648e95c43
2024-01-24 09:04:24 +00:00
Jessica Lawshe
45d44d2fe6 Merge pull request #16444 from overleaf/jel-v1-api
[web] Begin promisifying InstitutionsAPI

GitOrigin-RevId: aa615e22d3fc8aa77255a26dcdab0e2ce28d93c0
2024-01-24 09:04:21 +00:00
ilkin-overleaf
784ebcbd57 Merge pull request #16610 from overleaf/ii-generate-unique-name-for-project
[web] Fix unique project name generator

GitOrigin-RevId: 9b30041ab532b4ad87ee647fb7d5b280b069ce12
2024-01-24 09:03:55 +00:00
David
b3f6f3861c Merge pull request #16629 from overleaf/dp-mongoose-callback--project-options
Convert ProjectOptionsHandler and ProjectOptionsHandlerTests to use async/await

GitOrigin-RevId: 3f2902ee7c2f093b9350748824a58f00a88d02c7
2024-01-24 09:03:44 +00:00
David
4c973755fa Merge pull request #16617 from overleaf/dp-mongoose-callback
Convert ProjectHistoryHandler from callbacks to promises

GitOrigin-RevId: 6b1841269f6976deb4da663f614c423de7b962b7
2024-01-24 09:03:40 +00:00
David
e3513a9d50 Merge pull request #16545 from overleaf/dp-project-owner-delete-labels
Allow project owners to delete history labels

GitOrigin-RevId: 16111337681ac4085db2cf48e9d4c2fa87993b77
2024-01-23 09:03:08 +00:00
Alexandre Bourdin
73349a1b1d Merge pull request #16550 from overleaf/ab-unlink-sso-user-leaves-group
[web] Unlink group SSO when user leaves/is removed from group

GitOrigin-RevId: a4515f8b6f0f0012fc4d9f47b11e6f711743c2ec
2024-01-19 09:05:23 +00:00
Alf Eaton
612c7c28b0 Merge pull request #16511 from overleaf/ae-upgrade-uppy
Upgrade Uppy to v3

GitOrigin-RevId: ca3e366a20ac651a98aafe12bf319b1968ac6ec1
2024-01-19 09:05:05 +00:00
Mathias Jakobsen
8d7fbf5a47 Merge pull request #16522 from overleaf/mj-table-generator-cypress-tests
[web] Add cypress tests for table generator

GitOrigin-RevId: c77454763cfc83e4869e75ba247369e6255a0553
2024-01-19 09:04:33 +00:00
Mathias Jakobsen
80a6424343 Merge pull request #16048 from overleaf/mj-table-column-width
[visual] Allow setting column widths in table generator

GitOrigin-RevId: 3bd4bb05dd3b29d0bd62fbc41da45eda282fecf4
2024-01-19 09:04:28 +00:00
Jakob Ackermann
797f2c518d Merge pull request #16514 from overleaf/jpa-enforce-oauth-scope
[web] restrict access to oauth endpoints to their respective clients

GitOrigin-RevId: 6ffa6008130588e44d336e2af32584ee20ad3ffc
2024-01-18 09:04:28 +00:00
David
29bfdae57d Merge pull request #16523 from overleaf/dp-editable-file-extensions-2
Make cfg, ltx, Rnw and inc files editable in the editor

GitOrigin-RevId: 1999c29ea451aa3f362ffa09f6f4d5889beaf404
2024-01-17 09:03:53 +00:00
David
888a0f9c72 Merge pull request #16520 from overleaf/dp-revert-file-extension-work
Revert "Merge pull request #16495 from overleaf/dp-editable-file-extensions"

GitOrigin-RevId: deb3dd882869031fb0489ffbfb32b6f0772be87b
2024-01-16 09:04:38 +00:00
David
8971357dce Merge pull request #16495 from overleaf/dp-editable-file-extensions
Mark cfg, rnw, ltx and inc files as text so that they are editable

GitOrigin-RevId: 486365486f46beebbb13cad3e0cc45711e1809e4
2024-01-16 09:04:25 +00:00
Miguel Serrano
51de84664d Merge pull request #16346 from overleaf/msm-remove-underscore
Remove `underscore` in monorepo

GitOrigin-RevId: fd3b92e3e8a940a7a086669232102320c34a89e2
2024-01-09 09:03:58 +00:00
Davinder Singh
5c5a01777c Making getAnalyticsIdFromMongoUser private to UserAnalyticsIdCache (#16125)
* Making getAnalyticsIdFromMongoUser private to UserAnalyticsIdCache

* renaming userAnalyticsIdCache to UserAnalyticsIdCache

* deleting function _getAnalyticsIdFromMongoUser

* renaming userAnalyticsIdCache to UserAnalyticsIdCache part 2

* format:fix

* adding upperCamelCase

* capital case first letter

GitOrigin-RevId: 2e9c18c544b8cffb53838aed56e1ef16979606a5
2024-01-08 09:05:31 +00:00