Commit Graph

58 Commits

Author SHA1 Message Date
Kristina
36fcc401cc Merge pull request #24680 from overleaf/kh-rename-recurly-namespace
[web] rename recurly namespace

GitOrigin-RevId: b7cfd26923d47bd7f3de4140be24d2d1ef20f6c8
2025-04-11 08:05:20 +00:00
Kristina
84dd590650 Merge pull request #24396 from overleaf/kh-rm-unused-recurly-subscription-property
[web] rm dead code in `SubscriptionViewModelBuilder`

GitOrigin-RevId: 64006e3f51f61c40e2d4e01fd04961546319ffdd
2025-04-11 08:05:16 +00:00
Kristina
1ee30f8683 Merge pull request #24519 from overleaf/kh-add-payment-service-low-delta
[web] add `PaymentService` to `buildUsersSubscriptionViewModel`

GitOrigin-RevId: 543531226bad38d34b225dae28cf00a5e02e5558
2025-04-10 08:05:06 +00:00
ilkin-overleaf
f166e9263c Merge pull request #23117 from overleaf/ii-flexible-group-licensing-subscription-page
[web] Subscription page for flexible licensing

GitOrigin-RevId: 8f2fab1fc01e27063d716a86add66b1b9a72cbe6
2025-02-05 09:05:54 +00:00
roo hutton
c1b8bfd73c Merge pull request #21905 from overleaf/rh-pause-sub
Add support for pausing subscription

GitOrigin-RevId: f939ea4e7f3c2b1fa16dcb8aff1b2460d091d4e2
2025-01-23 09:06:04 +00:00
M Fahru
8f21f58ad5 Merge pull request #22340 from overleaf/mf-clean-up-currency-format-test
[web] Clean up localized currency format test (`local-ccy-format-v2`)

GitOrigin-RevId: 30d671479522b87ee9205994508b745d2b0ae4c3
2025-01-14 09:05:49 +00:00
Eric Mc Sween
9b5bc6bce8 Merge pull request #22165 from overleaf/em-hide-upgrade-button
Hide upgrade button for AI add-on + Group/Commons users

GitOrigin-RevId: 58cd522a1fa08f477fd6509f6d12a728309718d8
2024-11-28 09:06:11 +00:00
Eric Mc Sween
ecf09faecb Merge pull request #22024 from overleaf/em-standalone-ai-add-on-is-not-premium
Do not hide upgrade buttons when on standalone AI add-on

GitOrigin-RevId: ec5cf42c051745d5ca1dff57f7cd27a89c21a6a9
2024-11-26 09:04:57 +00:00
Jimmy Domagala-Tang
f8892cbc2e Merge pull request #20968 from overleaf/jdt-subscription-page-addons
feat: add all add-ons to price calculation in subs view model
GitOrigin-RevId: d03374192d735278c6459fc6341a72d0b0c7c3aa
2024-11-05 09:05:49 +00:00
Jimmy Domagala-Tang
4ac33b7ed5 Merge pull request #20571 from overleaf/jdt-ai-addon-personal-upgrade
Enable purchasing an AI add-on for users on a monthly collaborator plan

GitOrigin-RevId: 988547bf6f01f7c1477191dd202df4448e376e5f
2024-10-14 11:09:04 +00:00
Eric Mc Sween
fcbb922326 Merge pull request #20520 from overleaf/em-ts-import
Use new import JSDoc syntax for Typescript annotations

GitOrigin-RevId: 782456d637fc8f2de6163b5d70fabf06c1d74964
2024-09-23 08:04:47 +00:00
Antoine Clausse
7ed5000e29 [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
f156859882 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
Jessica Lawshe
9a6aef3a02 Merge pull request #17817 from overleaf/jel-group-subscription-page
[web] Only send necesssary group subscription data to frontened

GitOrigin-RevId: bf49245e573bb9a1ec4bafc85cc6d0b7fd5f3e6f
2024-04-12 08:06:04 +00:00
Alexandre Bourdin
f320d54722 Merge pull request #16532 from overleaf/ab-enable-typechecking-backend-modules
[web] Enable type checking on some backend modules with types

GitOrigin-RevId: 74728bf65de34ee3c2f4601a5add8bbb948ce765
2024-01-17 09:03:23 +00:00
Miguel Serrano
95bf78d485 Merge pull request #16346 from overleaf/msm-remove-underscore
Remove `underscore` in monorepo

GitOrigin-RevId: fd3b92e3e8a940a7a086669232102320c34a89e2
2024-01-09 09:03:58 +00:00
Eric Mc Sween
554cd6a4d9 Merge pull request #15172 from overleaf/em-promise-utils
Move util/promises from web into a shared library

GitOrigin-RevId: fe1980dc57b9dc8ce86fa1fad6a8a817e9505b3d
2023-10-20 08:04:05 +00:00
Tyna William
3074b102c1 Merge pull request #13321 from overleaf/tw-remove-v1-calls
Cleanup v1 subscription calls

GitOrigin-RevId: 27c1792353957a75a553b2b12dbf357be5c7e111
2023-07-17 10:24:19 +00:00
Alexandre Bourdin
86c7ed7893 [web] Migrate managed publishers to React dash (#11749)
* Migrate managed publishers to React dash

* Decaf cleanup + async/await PublishersGetter

* Continue migration of managed publishers to react dash

* Fix linting

* Add tests

* Decaf cleanup PublishersGetterTests

* Update PublishersGetter tests

* Rename component files to kebab-case

GitOrigin-RevId: cb1fe14d120457c965a9d23a8ddb2c2c92e1d5da
2023-02-23 09:04:03 +00:00
Davinder Singh
ead567c3d2 Merge pull request #11694 from overleaf/ab-managed-institutions-react
[web] Migrate managed institutions to React dash

GitOrigin-RevId: 535dfafe42d88189bb20e7bb3beac233221ee6ba
2023-02-15 09:04:55 +00:00
Jessica Lawshe
e23a0b7c88 Merge pull request #11509 from overleaf/jel-react-personal-subscription-dash-pt-4
[web] Continue migration of personal subscription dash to React

GitOrigin-RevId: f2d913099d727725f04697003516c90616faf014
2023-02-08 09:06:21 +00:00
Jessica Lawshe
d2d8b88258 Merge pull request #11515 from overleaf/ab-group-membership-dash-react
[web] Managed groups in React subscription dash

GitOrigin-RevId: 4811d8dd2b42fa9ad83b5c4f12582e7bc04bad40
2023-02-01 09:05:27 +00:00
Thomas
8348e7b4cd Merge pull request #11445 from overleaf/revert-11432-revert-11154-tm-lg-subscription-recurly-cache-name
Re-instate change property name for recurly status cache to recurlyStatus

GitOrigin-RevId: 3b3415d818629676ee44dbc558a6b87469fd1af0
2023-01-27 09:03:58 +00:00
Thomas
c934b85566 Merge pull request #11432 from overleaf/revert-11154-tm-lg-subscription-recurly-cache-name
Revert "Change property name for recurly status cache to recurlyStatus"

GitOrigin-RevId: 6870e421516fd705343f3e8651d8637f791063df
2023-01-25 09:06:03 +00:00
Thomas
80ca9d7eaf Change property name for recurly status cache to recurlyStatus (#11154)
* Change property name for recurly status cache to recurlyStatus

Co-authored-by: Lucie Germain <lucie.germain@overleaf.com>
GitOrigin-RevId: a1ff69d531519cd15b82ef72974e9702f43409ac
2023-01-25 09:05:48 +00:00
Eric Mc Sween
93b49d0428 Merge pull request #10008 from overleaf/em-get-best-subscription-custom-accounts
Don't try to update custom accounts from Recurly

GitOrigin-RevId: d67088e6616773d30c5972d5b583959c3dc0e508
2022-10-21 08:04:00 +00:00
Eric Mc Sween
cd9f2d4278 Merge pull request #10005 from overleaf/em-revert-get-best-subscription
Revert "pass requester data when fetching best subscription"

GitOrigin-RevId: 7d66ef9d1c136cd729b648266117f42dd38e06b6
2022-10-18 08:03:49 +00:00
Timothée Alby
a98030a59a Merge pull request #9798 from overleaf/ta-em-gs-best-subscription-fix
Fix Best Subscription Check

GitOrigin-RevId: a7ea5063d4287a421b96222763a59c15652c8d6f
2022-10-18 08:03:01 +00:00
Alexandre Bourdin
1ecac5c1b0 Merge pull request #9245 from overleaf/integration-project-dashboard-react-migration
[Integration branch] Project Dashboard React Migration

GitOrigin-RevId: 3c3db39109a8137c57995f5f7c0ff8c800f04c4e
2022-09-14 08:04:03 +00:00
Thomas
e2991c03bf Merge pull request #9148 from overleaf/tm-fix-custom-subscription-view
Remove Recurly property from personalSubscription object

GitOrigin-RevId: b1d86b8379471fcdeef15da9252d2c377ec673d6
2022-08-09 08:02:47 +00:00
June Kelly
84a10c1f5c Upgrade async package to 3.2.2 (#8447)
* Revert "Revert "Bump async to 3.2.2 (#7618)""

This reverts commit 75153a555211d654744c2e61e27fe21085826c22.

* [web] fix usage of async.queue.drain in script

* [clsi] fix usage of async.queue.drain

* [spelling] fix usage of async.queue.drain

* [redis-wrapper] fix usage of async.queue.drain

* [web] Test that LockManager queue is cleared

This protects against a regression found when upgrading the
async package. Here we test that the `queue.drain` callback
is really getting called, and the lock is being removed from
the LOCK_QUEUES map.

* [redis-wrapper] Upgrade async to 3.2.2

GitOrigin-RevId: df921e6d7f1d505bd467f22e58600ba1aff48869
2022-06-22 08:03:35 +00:00
Thomas
178b245881 Merge pull request #8436 from overleaf/tm-update-wording-subscription-dashboard
Update wording on subscription dashboard

GitOrigin-RevId: 4739677fcf46e5de4db3e3fe2411f6ed9898aa2c
2022-06-21 08:03:08 +00:00
Alexandre Bourdin
9e2295d487 [web] Display the current plan in the project list dashboard (#8293)
* Display the current plan in the project list dashboard

* Add unit tests for SubscriptionViewModelBuilder#getBestSubscription

* Handle free trial for group subscriptions

* Reuse the info-badge icon for the plan labels

* Do not display subscription status when projects are selected

* Custom tooltip for group subscriptions with team name

GitOrigin-RevId: 40982f70cf9fb7c92058e417b73c84af1648c33e
2022-06-17 08:03:40 +00:00
Jakob Ackermann
6d0a9bfd9a Merge pull request #8434 from overleaf/revert-7618-dependabot-npm_and_yarn-async-3.2.2
Revert "Bump async to 3.2.2"

GitOrigin-RevId: a5deaea558011fa5a2e1aebe07856e8b0c87c4fc
2022-06-16 08:03:10 +00:00
dependabot[bot]
90555940af Bump async to 3.2.2 (#7618)
[all] Upgrade async package to 3.2.2

- [web] Fix usages of async library
- [project-history] Fix usage of async library
- [third-party-references] Fix usage of async library
- [track-changes] Fix usage of async library

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: June Kelly <june.kelly@overleaf.com>
GitOrigin-RevId: 90cf132f13da53b2bd6690ee3cdf4d6c8563ecd2
2022-06-16 08:02:49 +00:00
Thomas
9a8f850702 Merge pull request #8261 from overleaf/tm-show-correct-price-in-change-plans-list
Show correct prices in change plans list on subscription dashboard

GitOrigin-RevId: 194b516bae92564d33f50e1c0035d21b2ba246a9
2022-06-06 08:03:49 +00:00
Thomas
721bc6a218 Add error message on subscription dashboard if v1 is down (instead of returning a 500 error page) (#7947)
* Add error message on subscription dashboard if v1 is down

GitOrigin-RevId: 8c8b5ac4d44cfd2c42101efe1d55a5993ca21eea
2022-05-20 08:04:43 +00:00
Tim Alby
9655473875 disambiguate between displayPrice and recurlyPrice
GitOrigin-RevId: 38f4c51b9834c417824c0093096767f50e998cb8
2022-01-21 09:03:16 +00:00
Alf Eaton
01042eb030 [web] Upgrade Prettier to match version in monorepo root (#6231)
GitOrigin-RevId: 02f97af1b9704782eee77a0b7dfc477ada23e34d
2022-01-11 09:03:23 +00:00
Jakob Ackermann
0ef3f0b964 Merge pull request #6136 from overleaf/jpa-fix-promise-vs-cb
[web] use promise based interface for getting the recurly subscription

GitOrigin-RevId: cb9409a824aa3df0f3a2def39237020227612eab
2021-12-15 09:05:52 +00:00
Timothée Alby
e8029e6743 Merge pull request #6099 from overleaf/jpa-recurly-redirect
[web] put hosted recurly pages behind a redirect

GitOrigin-RevId: 51a45dbcc0b74f1f1ae14eda9ed19a733e2d1334
2021-12-15 09:05:27 +00:00
Jessica Lawshe
8f648312b3 Merge pull request #4659 from overleaf/jel-em-duplicate-subscription-message
One Pro message per current commons institutions

GitOrigin-RevId: 21b74af8b9da1b6647a0384115f5d268b80e4bdf
2021-08-17 08:03:44 +00:00
Jakob Ackermann
5e773ce950 Merge pull request #4101 from overleaf/ae-settings-module
Migrate from `settings-sharelatex` to `@overleaf/settings`

GitOrigin-RevId: 9a298ba26382180c1351683c5fddc9004418c1e6
2021-07-08 02:08:28 +00:00
Alexandre Bourdin
18d62dcee9 Merge pull request #4071 from overleaf/ab-subscription-decaf-cleanup
Subscription controller decaf cleanup

GitOrigin-RevId: 79b8adfabe30e4557a95b1aad71a5162e6f42cce
2021-05-27 02:06:03 +00:00
Thomas
f7b96e86a7 Merge pull request #4034 from overleaf/tm-pending-subscription-addons
Display correct information when pending subscription has addons

GitOrigin-RevId: 7634ccf24788951507963b6d421fdb86e0dc38d5
2021-05-18 02:08:16 +00:00
Thomas
72af966c9c Schedule subscription downgrades to occur at the current term end (#3801)
* Schedule subscription downgrades to occur at the current term end.

If the plan is a downgrade, schedule the subscription change for term
end. Use Recurly v3 API subscription change event instead of v2 update
subscription.

* Add ability for user to revert a pending subscription change

In the case where a user has downgraded, but has since decided they'd
rather stay on their current plan, we need a way to let them revert. It
isn't enough to re-use a subscription change, because Recurly sees it as
an attempt to make a change from the current plan to itself.

Instead, we use a new dialog and call a new endpoint that has the
specific intent of reverting the pending plan change, by calling the
removeSubscriptionChange recurly client method.

* Add message prompting users to contact support for immediate changes

We're showing this in the confirmation modal for a plan change that
would occur in the future, and and on the subscription page if a pending
change is due.

Most users shouldn't need this, but it should help them out if they find
an edge case like moving from eg. Student (Annual) to Professional
(Monthly) and were expecting to be "upgraded" immediately.

GitOrigin-RevId: c5be0efbeb8568ed9caa941aadcef6f6db65c420
2021-04-28 02:10:31 +00:00
Alf Eaton
1be43911b4 Merge pull request #3942 from overleaf/prettier-trailing-comma
Set Prettier's "trailingComma" setting to "es5"

GitOrigin-RevId: 9f14150511929a855b27467ad17be6ab262fe5d5
2021-04-28 02:10:01 +00:00
Eric Mc Sween
e5c49ea19a Merge pull request #3681 from overleaf/em-group-plans
Configure group plans for additional licenses

GitOrigin-RevId: 57822de9f490505c4b083afa80220e4d5b4c7d23
2021-02-23 03:04:43 +00:00
Timothée Alby
450d744f9a Merge pull request #3665 from overleaf/cmg-jpa-members-limit-addon
Support membersLimit add on for recurly subscriptions

GitOrigin-RevId: d4256665d703e3c348cdac11af669c70f3c2feb2
2021-02-19 03:04:33 +00:00
Alf Eaton
2ff1cf43d6 Merge pull request #3470 from overleaf/eslint
Upgrade and configure ESLint

GitOrigin-RevId: ad5aeaf85e72c847a125ff3a9db99a12855e38aa
2020-12-16 03:08:28 +00:00