Commit Graph

189 Commits

Author SHA1 Message Date
Jessica Lawshe
3a59883e7a Merge pull request #18297 from overleaf/jel-remove-angular-group-invite
[web] Remove Angular version of group invite

GitOrigin-RevId: bd31cd2ed3c105c9042ae9c42894cfe960459a46
2024-05-31 08:04:27 +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
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
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
98cefaa5bd Remove "upgrade to annual" page (#18014)
GitOrigin-RevId: b9f92ad038adab7fc7eb5e2a7175461bfefee379
2024-04-24 08:04:04 +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 `–` 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
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
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
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
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
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
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
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
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
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
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
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
Mathias Jakobsen
c371732e6e Merge pull request #16186 from overleaf/mj-mongo-object-id
[web] Use constructor for ObjectId

GitOrigin-RevId: 9eb8b377ea599605b72af237d1ab12f4d8287162
2023-12-19 09:04:02 +00:00
Jessica Lawshe
3499ebe939 Merge pull request #15992 from overleaf/ab-group-sso-test-flow-1
[web] Group SSO multi-step modal and test flow

GitOrigin-RevId: 343a20ef494276e65b35d1ee070c28d94617ea61
2023-12-07 09:04:31 +00:00
Thomas
24023dd267 Merge pull request #15901 from overleaf/tm-design-system-updates-teardown
Design system updates test tear down and clean up

GitOrigin-RevId: 743423f7c31c0ba89093bba0107d7e6799e1c309
2023-11-28 09:04:06 +00:00
Mathias Jakobsen
6e74a65758 Merge pull request #15672 from overleaf/mj-group-subscription-audit-revival
[web] Add audit logs when user joins or leaves group subscription

GitOrigin-RevId: d64425f5a2434c60c89c297c9a51acae3b96c31e
2023-11-21 09:04:08 +00:00
Brian Gough
1ff830027f Merge pull request #15726 from overleaf/ab-managed-users-module-cleanup
[web] Managed users / Group SSO module cleanup

GitOrigin-RevId: a24d3278667059248d9563afe44cafca5f87a7c0
2023-11-21 09:03:54 +00:00
Miguel Serrano
33981d7f91 [web] Unit test for GroupSSOHandler (#15652)
* [web] Unit test for `GroupSSOHandler`

GitOrigin-RevId: 6b3bf8f9a77c8c2065937cf1887dcd086734f495
2023-11-09 09:03:01 +00:00
Alexandre Bourdin
d45ca7d401 Merge pull request #15582 from overleaf/msm-sso-linking-reminders
[web] SSO Linking redirects and interstitial info

GitOrigin-RevId: fdad0290ebf2b8b8a77f12b75736c030a4c7b642
2023-11-07 09:05:00 +00:00
Alexandre Bourdin
2783e89bc3 Merge pull request #15539 from overleaf/ab-schedule-sso-reminder
[web] Schedule Group SSO account linking reminder after joining the group

GitOrigin-RevId: 5586787fbd268446e441762fd7b4846821f849f6
2023-11-07 09:04:51 +00:00
Alexandre Bourdin
e322f4a31f Merge pull request #15418 from overleaf/ds-managedUsersEnabled
Managed users - Adding a managedUsersEnabled flag on subscription model

GitOrigin-RevId: a03dd169ba71255dd1bec5f7bee8ce9609d95a2f
2023-11-03 09:00:26 +00:00
Thomas
843b4f3940 Move checkout to subscriptions module (#15022)
* Move checkout to subscriptions module

GitOrigin-RevId: 0ad6587ddd7042aed7f2e18d9d0668e02942eb1e
2023-10-03 08:04:31 +00:00
M Fahru
8111ff2865 Merge pull request #13543 from overleaf/mf-enhance-group-invitation-ux
Show dashboard notification to registered users after being invited to join a group subscription

GitOrigin-RevId: ad03dfea95f0d5d1a38780adc3e9d618eae0a48d
2023-09-26 08:04:11 +00:00
Brian Gough
2e00894270 Merge pull request #14861 from overleaf/jpa-web-restrict-new-subscription
[web] block web sales to restricted countries

GitOrigin-RevId: 21029cf016eaa0c63ce6939ab8681979118a9dc4
2023-09-21 08:03:56 +00:00
Jakob Ackermann
fb4b6e0e41 Merge pull request #14859 from overleaf/jpa-web-restrict-ip-override
[web] ignore ip override for non admin users

GitOrigin-RevId: c11b938fa05d0328531b0ce088c7c3c29a9f13f5
2023-09-18 08:04:04 +00:00
ilkin-overleaf
c6289cc67f Merge pull request #14773 from overleaf/ii-modify-design-system-update-split-test
[web] Modify design-system-update split test

GitOrigin-RevId: f28aeef5ba782006afd30fd2862d0ad129077f6c
2023-09-18 08:03:49 +00:00
John Lees-Miller
401f9d6297 Merge pull request #14526 from overleaf/jlm-improve-confirmed-email-check
Check confirmation on subscription new and create

GitOrigin-RevId: daf95be86d529427a128973f8185b2cf91ec940b
2023-08-28 08:04:52 +00:00
Thomas
43c92642c6 Implement Back to School 2023 banners and modal (#14363)
* Implement Back to School 2023 banners and modal

* Only show WritefullPromoBanner if not showing BackToSchoolModal

GitOrigin-RevId: 3bd2ea48fa6d66f112cc26662a61be05cf7daafd
2023-08-24 08:04:09 +00:00
John Lees-Miller
2ad98aa61c Merge pull request #14460 from overleaf/tm-prevent-checkout-unconfirmed-email
Restrict checkout page for users without confirmed primary email

GitOrigin-RevId: a02b0f64824f8adc8f15ae24b9132569bd1029f3
2023-08-24 08:03:21 +00:00
Miguel Serrano
b8dc589303 Merge pull request #14241 from overleaf/msm-skip-subscription-deletion-groups
Temporarily skip subscription deletion for managed groups

GitOrigin-RevId: 6452a156e255fc599bdd25e38edb15659009a15a
2023-08-17 08:03:02 +00:00
Miguel Serrano
1725415e31 [web] Remove module import from core
Replaces the imported function call with an inline check.

GitOrigin-RevId: 692af8353258b13b61104cbac775c75d3bda3528
2023-08-15 08:03:46 +00:00
Alexandre Bourdin
114e9bc9c8 Merge pull request #14130 from overleaf/ab-cancel-reactivate-sub-sync-status
[web] Update subscription from Recurly when canceling/reactivating

GitOrigin-RevId: 7ba9a3d8ee41efa3435ef6d8b29c7b71f008c069
2023-08-10 08:04:20 +00:00
Rebeka
d2a27c1da0 tear down remove personal plan split test
GitOrigin-RevId: 5bcd4073ffbd444f153a9e081ecdca2b1435487d
2023-08-01 08:04:12 +00:00
Tim Down
3aa0fcf464 Merge pull request #13934 from overleaf/tm-block-subscriptions-restricted-countries
Block web sales to restricted countries

GitOrigin-RevId: 47c0ac1d5dc387369bbadb67f5822d7fc6637d98
2023-07-25 08:03:59 +00:00
Brian Gough
f3ac016566 Merge pull request #13907 from overleaf/bg-managed-users-allow-cancelled-subscriptions
allow cancelled subscriptions for managed users

GitOrigin-RevId: 56262ce4bd4cc93d4e5ea92222c76a874d6cad1e
2023-07-20 08:05:08 +00:00
June Kelly
4f8852feaa Merge pull request #13850 from overleaf/ab-invite-enrollment
[web] Managed users - combined invite/surrender flow

GitOrigin-RevId: 70cb0d81e0019eac69a4a565377447bb6d1a1823
2023-07-17 11:10:37 +00:00
Alexandre Bourdin
39bc601826 Merge pull request #13482 from overleaf/ab-group-settings-page
[web] Group settings button and page enabled based on env var

GitOrigin-RevId: 77574a3705b3f1301935b72010022af61f7fe552
2023-07-17 10:41:41 +00:00
Davinder Singh
4991f9cdc7 Merge pull request #13367 from overleaf/ab-group-invite-halfway-out-of-login
[web] Move the group invite page half-way outside the login wall

GitOrigin-RevId: 8d846df6e248a08433ab2ca991644c78cf9ff330
2023-07-17 10:31:09 +00:00
Alexandre Bourdin
150cf21710 Merge pull request #13311 from overleaf/ab-tear-down-subscription-pages-react
[web] Tear down subscription-pages-react test and remove Angular code

GitOrigin-RevId: 3cf906e476ffa52a058ccb4e4acbb89a657bd021
2023-07-17 10:22:45 +00:00
Jimmy Domagala-Tang
76d0d82e74 Merge pull request #13027 from overleaf/jdt-personal-plan-split-test
Personal plan split test

GitOrigin-RevId: 067973398c57be7466f6529f28fbfd896c86b10b
2023-05-25 08:05:52 +00:00
June Kelly
e89b4b4214 Merge pull request #12811 from overleaf/jk-plans-event-currency-segmentation
[web] Add currency/id segmentation to Recurly analytics events

GitOrigin-RevId: 56998f403358d5f6b3cece6835e16e65e06635b1
2023-05-02 19:44:24 +00:00
June Kelly
f5740e6b17 Merge pull request #12593 from overleaf/jk-remove-plans-split-test
[web] Remove 'plans-page-layout-v3' split test

GitOrigin-RevId: 91e0d3d8bc40632df630131b2e872fa824015da5
2023-04-26 08:04:21 +00:00
Thomas
5dc15a19de Merge pull request #12083 from overleaf/tm-teardown-refreshed-payment-page
Tear down refreshed payment page test, keeping refreshed page

GitOrigin-RevId: 4f0d9a1f4bcd3b018b12372fbe86aad3c8e41fbd
2023-03-10 09:04:18 +00:00