Commit Graph
381 Commits
Author SHA1 Message Date
Liangjun Song 7a48061d31 Merge pull request #22584 from overleaf/ls-test-for-group-subscription-upgrade
Add tests for group subscription upgrade

GitOrigin-RevId: 0718dd420930d56602831f127494102045cb6cfc
2024-12-19 09:04:56 +00:00
ilkin-overleaf 8e7f1d5e89 Merge pull request #22448 from overleaf/ii-flexible-group-licensing-add-seats-tests
[web] Add seats tests

GitOrigin-RevId: 76fb5edc6eba5579fac2d3e05cd1f64fba16046c
2024-12-18 09:05:12 +00:00
Eric Mc Sween 5f11200f67 Merge pull request #22386 from overleaf/em-remove-v1-subscription-checks
Remove v1 subscription checks

GitOrigin-RevId: 32962e8a88e98c120c5c58a061f293205c14dc3a
2024-12-11 09:04:31 +00:00
M Fahru c898e3f323 Merge pull request #22304 from overleaf/mf-clean-up-latam-v2-test
[web] Tear down LATAM geo-pricing v2 split test

GitOrigin-RevId: ca379c7ace5600aa31559c82e166c7ea67c6c26d
2024-12-10 09:05:22 +00:00
ilkin-overleaf bd967ce1df Merge pull request #22379 from overleaf/ls-sync-with-recurly-after-mutation
sync with recurly after mutate subscription

GitOrigin-RevId: 451914f7bde344f82ad4523bee20f1af2297cbd8
2024-12-10 09:04:55 +00:00
Liangjun Song dfea9dacab Merge pull request #22146 from overleaf/ls-consider-flexible-licensing-on-payment-page
support new group plans in checkout flow

GitOrigin-RevId: ec6aff363e0eeb5d82067cea44479b5045258490
2024-12-06 09:05:43 +00:00
Liangjun Song 932f395932 Merge pull request #22184 from overleaf/ls-group-plan-upgrade-page
Group plan upgrade page

GitOrigin-RevId: 6c99173c013d84943276dbd43f468026c4d44558
2024-12-06 09:05:38 +00:00
ilkin-overleaf ab4d8fe168 Merge pull request #21841 from overleaf/ii-flexible-group-licensing-add-seats
[web] Add seats to a group plan

GitOrigin-RevId: 53497d2cb7aa7d1e7dc8291e391b24f7a32eeece
2024-12-06 09:05:13 +00:00
M Fahru c4e0294d36 Merge pull request #22027 from overleaf/mf-activate-plans-page-new-design-variant
[web] Activate plans page new-design variant for all users

GitOrigin-RevId: 7da3c973cded8597cadd691f5d6e928d31e8d26f
2024-12-05 09:05:18 +00:00
Eric Mc Sween e2478d14f1 Merge pull request #22224 from overleaf/em-group-ai-add-on
Give the Error Assistant to group admins with Error Assist

GitOrigin-RevId: 832d78968977a7c6f17a3a3c8409c506d96fdd48
2024-12-05 09:05:03 +00:00
Liangjun Song ac8d8d6edc Merge pull request #21957 from overleaf/ls-compute-immediate-charge-for-subscription-update
compute immediate charge for subscription update

GitOrigin-RevId: 4e5162660b26e6e9db69827a59aa8e0048fa7d5d
2024-11-22 09:05:12 +00:00
Eric Mc Sween 6e39885fde Merge pull request #21959 from overleaf/em-redeploy-ai-add-on-prs
Redeploy AI add-on PRs

GitOrigin-RevId: d234ac0862947e9ea8926055ad205e32a456dd2e
2024-11-21 09:04:57 +00:00
Eric Mc Sween 58e34617bc Merge pull request #21935 from overleaf/em-recurly-event-ai-add-on
Add an hasAiAddOn property to Recurly events sent to analytics

GitOrigin-RevId: a3cfc706001bab3ef06bfaf64d69533b1bc9840a
2024-11-21 09:04:53 +00:00
Eric Mc Sween ab36c80a26 Merge pull request #21954 from overleaf/em-revert-ai-add-on-deploy
Revert faulty AI add-on deploy

GitOrigin-RevId: 923ec89f01d4951596f83fcf58b820c39db1e54a
2024-11-19 09:05:27 +00:00
Eric Mc Sween 087b612e16 Merge pull request #21869 from overleaf/em-repurchase-add-on
Repurchase the AI add-on when changing plans

GitOrigin-RevId: 1035e57af4c254fc73464f14010e4ba7e18cfe80
2024-11-19 09:05:18 +00:00
Miguel Serrano 53d84efb3a Revert "[web] Send email to support when skipping deleting pro group subscrip…" (#21780)
This reverts commit 8a4abe0742ab6a1c6b15bb17b5cc4863a11010b2.

GitOrigin-RevId: 2b91b8a127d195f4297fe99653fb69664b2a91a7
2024-11-12 09:05:18 +00:00
Miguel Serrano a6deee4961 Revert "[web] Prevent subscription downgrades (#19895)" (#21779)
This reverts commit b0ff548b4e1bf5843a96885b3176fdf11a49a2e1.

GitOrigin-RevId: b01c0800c62b83da8db2e01fc1fb6ca09e099c4d
2024-11-12 09:05:14 +00:00
Miguel Serrano 1b80f172d7 [web] Prevent subscription downgrades (#19895)
* Notify support when subscription deletion skipped

GitOrigin-RevId: b0ff548b4e1bf5843a96885b3176fdf11a49a2e1
2024-11-12 09:05:00 +00:00
Jessica Lawsheandmserranom 4d8a6c5c9d [web] Send email to support when skipping deleting pro group subscription (#19971)
* Move group SSO enabled check up

So that we have this available when managed users is enabled. This will be useful in the following commit.

* Notify support when subscription deletion skipped

* Fix rebase conflicts

---------

Co-authored-by: mserranom <mserranom@gmail.com>
GitOrigin-RevId: 8a4abe0742ab6a1c6b15bb17b5cc4863a11010b2
2024-11-12 09:04:48 +00:00
ilkin-overleaf 6345ec3b04 Merge pull request #21712 from overleaf/ii-flexible-group-licensing-confirmation-page
[web] Request confirmation page for flexible licensing

GitOrigin-RevId: 855dcbd46c645da75b8c641f0c49670b2e04df3f
2024-11-12 09:04:35 +00:00
Antoine Clausse 5462fcd128 [web] Set layout-react in Subscription pages (#21529)
* Update `User` type

* Set `layout-react`: `subscriptions/successful-subscription-react`

* Set `layout-react`: `subscriptions/canceled-subscription-react`

* Set `layout-react`: `subscriptions/dashboard-react`

* Set `layout-react`: `subscriptions/team/invite-managed`, `subscriptions/team/invite`, `subscriptions/team/invite_logged_out`

* Set `layout-react`: `subscriptions/team/group-invites`

* Add `header-footer-react` to subscription/base.js

* Fix: Replace `date-type` by `data-type`

* Fix SubscriptionControllerTests

GitOrigin-RevId: b9049a9093a700b3be1bf33809e3a1494022350a
2024-11-11 09:04:32 +00:00
Eric Mc Sween 29be4f66d4 Merge pull request #21556 from overleaf/em-subscription-change-interstitial
Add-on purchase preview page

GitOrigin-RevId: 660e39a94e6112af020ea783d6acf01a19432605
2024-11-07 09:04:49 +00:00
M Fahru 1547325073 Merge pull request #21377 from overleaf/mf-add-countryCode-to-view-plans-and-interstitial-page-new
[web] Add missing `countryCode` in new-design plans page and all variants of the interstitial payment page

GitOrigin-RevId: e3a410e89a6745d042f9747a01960618eb622733
2024-11-01 09:05:36 +00:00
Eric Mc Sween 1acb0d1bcd Merge pull request #21274 from overleaf/em-recurly-client
Separate Recurly business logic

GitOrigin-RevId: 9c3b5ce61bdc7a6a5d3f507a31dc8919c882e476
2024-10-31 09:05:00 +00:00
Andrew Rumble 2bfb55a305 Update tests
GitOrigin-RevId: 9272720e0f6865c54257c43bd98d8e6003251aa2
2024-10-17 08:06:17 +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
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 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
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
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
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
andrew rumble 032deaf05c Switch to mongodb-legacy
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +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
Thomas a16db120c0 Implement free trial limits (#19507)
* Add additional validations for subscription trials

GitOrigin-RevId: 1cb821c62e02d3eaa5b2bcacaee63b6bc7a63311
2024-08-08 08:05:05 +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
Thomas a047388b08 Add serverside checks for changing the user access level after link sharing changes (#19168)
* Add getEditInviteCount to count only edit collaborators

* Add getInvitedEditCollaboratorCount to count joined editors

* Add canAddXEditCollaborators to determine if owner can add more editors

* Update setCollaboratorInfo to check if editor slots are available

GitOrigin-RevId: a88707f102dfbde39322f5a7bbc79d47b6e810d5
2024-07-01 08:04:16 +00:00
Thomas 2ce71b0b4d Async/awaitify LimitationsManager for link sharing changes (#19110)
* Move functions to top level

* Async/awaitify LimitationsManager methods

* Promisify LimitationsManagerTests

GitOrigin-RevId: ece7d2ea5160aa95924840044e2f225e1f2848e7
2024-07-01 08:04:12 +00:00
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 `&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
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