Olzhas Askar
823f11426b
Merge pull request #33109 from overleaf/oa-upgrade-path
...
[web] Upgrade path
GitOrigin-RevId: 532993e613bdc42cf92a7b10e629aa94596d854e
2026-05-01 08:07:01 +00:00
Antoine Clausse
dd44f4e2e8
[web] Remove stale "You already have a subscription" notification ( #33187 )
...
* Remove stale "You already have a subscription" notification after cancel/plan change
The notification was derived from a server-rendered meta tag set at page load,
so it persisted through cancel and plan-change flows. Now derived directly from
the URL param on the client; the param is stripped on cancel button click
(replaceState) and before plan-change reloads (location.replace via
reloadWithoutHasSubscription helper).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* Fix format
* Update services/web/test/frontend/features/subscription/components/dashboard/subscription-dashboard.test.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix change-plan tests after location.reload → location.replace migration
reloadWithoutHasSubscription calls location.replace() not location.reload(),
so update assertions accordingly. Also stub toString() to return the jsdom
origin so FlashMessage's replaceState call doesn't throw a SecurityError.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* Guard reloadWithoutHasSubscription against empty URL
When called after component unmount, useLocation's toString() returns '',
causing new URL('') to throw. No-op early to avoid the exception.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* Guard against empty URL in history state replacement for subscription cancellation
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
GitOrigin-RevId: 8408ee971adf038e2d819eae5df060ace62a7e14
2026-05-01 08:06:41 +00:00
Olzhas Askar
7c0595f9a9
Merge pull request #32063 from overleaf/oa-group-plans
...
[web] Rename group plans
GitOrigin-RevId: 8a3097dc1724709b5d7b163e0f9d968c21d63831
2026-04-30 08:05:10 +00:00
Olzhas Askar
396e158ecd
Merge pull request #31991 from overleaf/oa-rename-student-plans
...
[web] Rename Individual plan names
GitOrigin-RevId: f0133fc4e06542d7c68e0a0211a2ecc32afa733d
2026-04-29 08:05:37 +00:00
Simon Gardner
8a331bc943
fix: [web] managed group admins unable to re-subscribe ( #29634 )
...
GitOrigin-RevId: 5e3d46c39f4657fcc737403a80093b870bc42240
2026-04-28 08:06:27 +00:00
Olzhas Askar
d3b60bcb46
Merge pull request #31750 from overleaf/oa-update-student-features
...
[web] Update student collaborators
GitOrigin-RevId: fa4631c4d6e95eaa4823d1d5db125231c6cd0c00
2026-04-24 08:06:58 +00:00
ilkin-overleaf
32095c092b
Merge pull request #32033 from overleaf/ii-project-sharing-admin-page
...
[web] Sharing permissions group admin page
GitOrigin-RevId: 97baeeca9ca33cec043badcae2affdd954081ef2
2026-03-19 09:06:35 +00:00
Antoine Clausse
d5a65e906f
[web] Paywall and other AI text edits ( #31993 )
...
* Update Compile timeout copy
* Update Collaborator limit copy
* Update Track changes copy
* Update History copy and "Start free trial" button
* Remove unnecessary children passed to StartFreeTrialButton
* Update Dropbox copy
* Update Github copy
* Update Git copy
* Update Reference managers copy
* Update Symbol palette copy
* Update Onboarding prompt copy
* Update Subscriptions page (on free account) copy
* `bin/run web npm run extract-translations`
* Add split-test assignment in subscription page
* Fix tests
* Update services/web/modules/symbol-palette/frontend/js/components/symbol-palette-overlay.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update services/web/modules/onboarding/app/views/onboarding/try_premium.pug
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update services/web/modules/onboarding/app/views/onboarding/try_premium.pug
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Replace `Github` to `GitHub` in translations
* Update "non Overleaf" to "non-Overleaf"
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
GitOrigin-RevId: 56ee2735899de18f820b229bc226249322ac0c87
2026-03-06 09:17:11 +00:00
Antoine Clausse
e87488899a
[web] Add AI to plan features list ( #31968 )
...
* Add tooltip next to "Overleaf AI" row
* Add AI to features list
* Fix tests
* Revert changes which will be overwritten by https://github.com/overleaf/internal/pull/31993
* Add missing import (conflict with main)
GitOrigin-RevId: ce236670bd63701a3976a3eb84dc695ee0e928b1
2026-03-06 09:17:02 +00:00
Olzhas Askar
f4fc2b8e1d
Merge pull request #31860 from overleaf/oa-no-collabs
...
[web] No collaborators!
GitOrigin-RevId: fd22333da3b38f00b5eb6a627347d5f6172b27f2
2026-03-06 09:10:37 +00:00
Kristina
a9ab247507
[web] add notification message to the dashboard for migrated subscriptions ( #31429 )
...
GitOrigin-RevId: 12c14020b9e43e6544bdbd363fd2bc0d4051c80b
2026-02-10 09:06:13 +00:00
Kristina
4c5cdecffa
[web] fix bug where pending downgrades are removed when subscriptions change ( #30420 )
...
* preserve pending changes when generating change requests
* re-apply pending term_end changes after immediate updates
* block changes when Stripe subscription has multiple phases
* handle MultiplePendingChangesError & rm PendingChangeError
GitOrigin-RevId: 0af11044766ff48e683d684ad6d62b732d17290c
2026-02-03 09:05:55 +00:00
Miguel Serrano
ad4f376431
[web] Fix group audit log link displayed to managers ( #28084 )
...
* [web] Fix group audit log link displayed to managers
* Fix incorrect query in test
GitOrigin-RevId: f5a68ef60f9c19f2e2003b05424b5a88f7a1cad3
2025-09-12 08:07:01 +00:00
Simon Gardner
d4fe9cf34b
Update unit tests for ActiveSubscription
...
GitOrigin-RevId: 181f5a097fff2fa31ed11d39b76f40c9a4b4ca31
2025-09-10 08:05:25 +00:00
roo hutton
467102fd1b
Merge pull request #27643 from overleaf/rh-pause-cancel
...
Terminate Recurly subscription when cancelling during final month of pause
GitOrigin-RevId: 39e4c9534621f57b3e2783599ebe521959d7401f
2025-08-29 08:06:17 +00:00
Miguel Serrano
e8e319d231
[web] Clean up group-audit-logs split test ( #27614 )
...
GitOrigin-RevId: e22183820e418cabc83cf2619c2c10cf4f82d3b9
2025-08-12 08:05:39 +00:00
Miguel Serrano
cf0a4c472f
[web] Group audit log link in settings ( #27390 )
...
* [web] Group audit log link in settings
Adds a link to access the `/manage/groups/:subscription_id/audit-logs`
endpoint
* [web] Add `group-audit-logs` split test for gradual rollout
GitOrigin-RevId: 60d6c9917ca54ff5e228996e7454a901f0f3b9ca
2025-08-01 08:05:10 +00:00
Kristina
ea2ba8cdbe
[web] add error messages for payment failing on upgrade ( #27054 )
...
* [web] add error messages for payment failing to upgrade modal
* [web] show payment error on preview change page
* [web] add separate message for 3ds failure
GitOrigin-RevId: b2680ff9b4f01e42f31c1c11457f216a5eadf49d
2025-07-15 08:05:19 +00:00
roo hutton
50b5aa33b1
Merge pull request #26495 from overleaf/rh-prevent-pause-cancel-last-term
...
Redirect to support if trying to cancel in last month of pause
GitOrigin-RevId: d92f84c79482bb7c409f4e3070337b0ac958756a
2025-06-25 08:05:42 +00:00
Kristina
7a449f4686
Merge pull request #26014 from overleaf/kh-remaining-references-to-recurly-fields
...
[web] update remaining references to `recurlyStatus` and `recurlySubscription_id`
GitOrigin-RevId: f5e905eba598cfcd146803c6ccc36a2304021544
2025-06-09 08:05:17 +00:00
M Fahru
832f9923b9
Merge pull request #25998 from overleaf/mf-update-stripe-email-from-subscription-dashboard
...
[web] Make user able to sync their email address in subscription dashboard for Stripe subscription
GitOrigin-RevId: 9abdc0e18ebea29b18c2041130946b9e50fa43db
2025-06-04 08:07:27 +00:00
Antoine Clausse
e0f3bea9ad
[web] De-capitalize english translations ( #24123 )
...
* Create decapitalize.sh script
* Remove `text-capitalize` classes, rely on translations instead
* `Account Linking` -> `Account linking`
* `Account Settings` -> `Account settings`
* `Add Affiliation` -> `Add affiliation`
* `Add Email` -> `Add email`
* `Add Files` -> `Add files`
* `Add to Dictionary` -> `Add to dictionary`
* `All Projects` -> `All projects`
* `All Templates` -> `All templates`
* `Archive Projects` -> `Archive projects`
* `Archived Projects` -> `Archived projects`
* `Auto Compile` -> `Auto compile`
* `Back to Subscription` -> `Back to subscription`
* `Blank Project` -> `Blank project`
* `Change Password` -> `Change password`
* `Change Project Owner` -> `Change project owner`
* `Clear Sessions` -> `Clear sessions`
* `Company Name` -> `Company name`
* `Compile Error Handling` -> `Compile error handling`
* `Compile Mode` -> `Compile mode`
* `Compromised Password` -> `Compromised password`
* `Confirm Affiliation` -> `Confirm affiliation`
* `Confirm Email` -> `Confirm email`
* `Connected Users` -> `Connected users`
* `Contact Sales` -> `Contact sales`
* `Contact Support` -> `Contact support`
* `Contact Us` -> `Contact us`
* `Copy Project` -> `Copy project`
* `Delete Account` -> `Delete account`
* `Emails and Affiliations` -> `Emails and affiliations`
* `Git Integration` -> `Git integration`
* `Group Settings` -> `Group settings`
* `Link Accounts` -> `Link accounts`
* `Make Primary` -> `Make primary`
* `Mendeley Integration` -> `Mendeley integration`
* `Papers Integration` -> `Papers integration`
* `Project Synchronisation` -> `Project synchronisation`
* `Sessions Cleared` -> `Sessions cleared`
* `Stop Compilation` -> `Stop compilation`
* `Update Account Info` -> `Update account info`
* `the Sales team` -> `the sales team`
* `your Group settings` -> `your group settings`
* `Zotero Integration` -> `Zotero integration`
* Update decapitalize.sh
* Decapitalize some translations
* `Example Project` -> `Example project`
* `New Project` -> `New project`
* `New Tag` -> `New tag`
* `Trashed Projects` -> `Trashed projects`
* `Upload Project` -> `Upload project`
* `Your Projects` -> `Your projects`
* Revert "Create decapitalize.sh script"
This reverts commit 8c79f367096c206c704c7c01e3572a18f3961d5e.
* Revert changes to stories
* Fix tests
* `Contact us of` -> `Contact us if`
* Make `Contact us` bold in tex files
* `sales team` -> `Sales team`
* `Link accounts and Add email` -> `Link accounts and add email`
* `Make Private` -> `Make private`
* `contact support` -> `contact Support`
* Make `Make primary` tests case sensitive
* Use `add_email` translation string
* Revert changes to non-english locales
* Remove redundant `Account settings` translation
* `New project Name` -> `New project name`
GitOrigin-RevId: 675c46f96ddbf3d259a8d723fed62aa4a7ed40b7
2025-05-22 08:07:46 +00:00
Jimmy Domagala-Tang
443fb3f152
Merge pull request #24739 from overleaf/dk-thankyou-page
...
Update "thanks for subscribing page" with AI Assist links
GitOrigin-RevId: 41a23d6fd5edfc8f9ad0f97e513e1ea66aed5bdc
2025-05-14 08:06:44 +00:00
Rebeka Dekany
271635491a
Remove incorrect "button" role from navigational links that are styled as buttons ( #25504 )
...
GitOrigin-RevId: 717b20a6f2e893034eb12547fa663d358c0de419
2025-05-14 08:05:21 +00:00
Jimmy Domagala-Tang
82e5b2c5d7
Merge pull request #25151 from overleaf/dk-use-user-features
...
UserFeaturesContext with cross-tab syncing via BroadcastChannel
GitOrigin-RevId: 4262719f5018f5717211851ce28b3255af65461a
2025-05-13 08:07:57 +00:00
Kristina
70c26b6ed2
[web] prevent downgrade to personal upsell for stripe subscriptions ( #25392 )
...
GitOrigin-RevId: a954f42e1159e4bcc8fd06f5f6df9a53c67f9f90
2025-05-13 08:06:05 +00:00
Tim Down
7abafb01ea
Merge pull request #23940 from overleaf/td-react-18
...
Upgrade to React 18
GitOrigin-RevId: 9b81936e6eea2bccd97fe5c2c5841f0b946371b8
2025-05-02 08:05:29 +00:00
Kristina
23c1a0ba4d
Merge pull request #25082 from overleaf/kh-prevent-pausing-and-group-plans
...
[web] prevent pausing or upgrading to group for Stripe subscriptions
GitOrigin-RevId: 4d194339282d8bc165ffa1b89e8e1cf298c2d343
2025-04-29 08:05:09 +00:00
Kristina
6166a51552
Merge pull request #24922 from overleaf/kh-add-customer-portal-links
...
[web] add stripe customer portal link
GitOrigin-RevId: 6baaf51d4dd89ef779229ad17603529db06cf396
2025-04-24 08:05:44 +00:00
Antoine Clausse
b901bb6c75
[web] Update fetch-mock to version 12 ( #24837 )
...
* Update fetch-mock to version 12
* Replace `fetchMock.done` by `fetchMock.callHistory.done`
* Replace `…Mock.called` by `…Mock.callHistory.called`
* Replace `fetchMock.reset` by `fetchMock.hardReset`
* Replace `fetchMock.restore` by `fetchMock.hardReset`
* Replace `fetchMock.resetHistory` by `fetchMock.clearHistory`
* Replace `fetchMock.calls` by `fetchMock.callHistory.calls`
* Replace `fetchMock.flush` by `fetchMock.callHistory.flush`
* Update tests for fetch-mock version 12
See https://www.wheresrhys.co.uk/fetch-mock/docs/Usage/upgrade-guide
* Update stories for fetch-mock version 12
* Remove `overwriteRoutes` option
* Add `fetchMock.spyGlobal()` to storybook
* Remove deprecated `sendAsJson` param
* Replace `fetchMock.hardReset()` by `fetchMock.removeRoutes().clearHistory()`
* Fixup fetch-mock in storybook:
Call `mockGlobal` inside the hook, call `removeRoutes` and `unmockGlobal` on cleanup
Behaviour can be tested by navigating between
https://storybook.dev-overleaf.com/main/?path=/story/editor-ai-error-assistant-compile-log-entries--first-log-entry
https://storybook.dev-overleaf.com/main/?path=/story/editor-ai-error-assistant-compile-log-entries--rate-limited
https://storybook.dev-overleaf.com/main/?path=/story/project-list-notifications--project-invite
https://storybook.dev-overleaf.com/main/?path=/story/project-list-notifications--project-invite-network-error
And clicking the buttons
GitOrigin-RevId: 35611b4430259e4c21c3d819ad18b2e6dab66242
2025-04-17 08:06:24 +00:00
Kristina
9f22564ca3
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
af46bcdace
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
7920cd9d3d
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
Tim Down
28468e134c
Merge pull request #24660 from overleaf/td-bs5-remove-react-bootstrap-0
...
Remove react-bootstrap 0.33.1
GitOrigin-RevId: c320a6b18c576afdc0fd49559915d3d2f3a7a1ef
2025-04-10 08:04:50 +00:00
ilkin-overleaf
61ce012fb5
Merge pull request #24430 from overleaf/ii-flexible-group-licensing-tear-down-feature-flag
...
[web] Tear down flexible group licensing feature flag
GitOrigin-RevId: 181713f1f2371b51cbc4256debea59bbcf3668f3
2025-03-31 08:04:42 +00:00
Tim Down
c2da12939e
Merge pull request #24313 from overleaf/td-ac-bs5-frontend-tests
...
Update front-end tests to use Bootstrap 5
GitOrigin-RevId: abaa09f8c0639d64d6ade97468ab16204e5de97b
2025-03-24 10:48:20 +00:00
Davinder Singh
7ec4cbd841
Merge pull request #24164 from overleaf/ds-group-discount-10-percent-february
...
Group plans - Reintroduce 10% discount for group plans (Part 1, 2 & 3 Combined)
GitOrigin-RevId: f3a59a65bbd300cc06f70e179e794c32ed7970ce
2025-03-11 09:05:50 +00:00
Davinder Singh
37dc516ea2
Merge pull request #24148 from overleaf/revert-24066-ds-group-discount-2
...
Revert "Group plans - Reintroduce 10% discount for group plans (part 2)"
GitOrigin-RevId: 2d8a8d117222daa997e4d0632a9e7235559a8b8c
2025-03-07 09:06:35 +00:00
Davinder Singh
3784061935
Merge pull request #24066 from overleaf/ds-group-discount-2
...
Group plans - Reintroduce 10% discount for group plans (part 2)
GitOrigin-RevId: ea5d600d901329944092daf560a015ac8ca10cd3
2025-03-07 09:06:05 +00:00
Davinder Singh
3851ee4eb2
Plans Group Size - Removing the 50 size ( #23851 )
...
* removing the group size 50
* removing the if condition for 20/50 groups
* running make cleanup_unused_locales
* removing instances of sizesForHighDenominationCurrencies and the related if conditions
* removing the price related to group size of 50 in different currencies
* fixing the test
* changing the 50 to 20 under faqs
* changing the remaining 50 to 20
* cleaning of variables
* removing extra variable
GitOrigin-RevId: 68f5d7df1eab29360e9c806ad844f1c900341c19
2025-02-28 09:04:51 +00:00
Antoine Clausse
d9a9fbb242
[web] Fix button-link loading state in subscription page ( #23640 )
...
* Fix inline loading button style
* Fix frontend test
GitOrigin-RevId: 59cdf68b8f2ad50f042a4457dc37f5c3d33d6c87
2025-02-26 09:04:58 +00:00
ilkin-overleaf
4a927e45a6
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
50f5a4e909
Merge pull request #23161 from overleaf/rh-pause-no-plan-change
...
Prevent downgrade to personal plan during subscription pause
GitOrigin-RevId: e3ba2e8e4d9b909fa2ee9c3c7e15db2ed257e43b
2025-01-31 09:04:58 +00:00
roo hutton
ad096f82bf
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
Alf Eaton
604471bfe9
Improve types for window.metaAttributesCache ( #22983 )
...
GitOrigin-RevId: cc962bf7eeaac525267ba04080889b0d58051914
2025-01-23 09:05:14 +00:00
M Fahru
da6f332269
Merge pull request #22821 from overleaf/kh-cop-on-upgrade-modal
...
[web] limit COP group plans to 20 seats in upgrade modal
GitOrigin-RevId: b1d2713b978d0269892d8f547eeccc5ab702ea77
2025-01-16 09:06:37 +00:00
Alf Eaton
2fbb4615f9
Convert utility functions to TypeScript ( #22658 )
...
* Convert event-tracking to TypeScript
* Convert local-storage to TypeScript
* Convert mapSeries to TypeScript
* Convert SessionStorage to TypeScript
* Convert account-upgrade to TypeScript
* Convert isValidTeXFile to TypeScript
* Convert date functions to TypeScript
* Convert EventEmitter to TypeScript
* Convert isNetworkError to TypeScript
* Convert webpack-public-path to TypeScript
* Convert displayNameForUser to TypeScript
GitOrigin-RevId: 79c5a2d1101fcd520f3116f0f4af29d974189d94
2025-01-16 09:05:36 +00:00
Kristina
7994390967
[web] tear down group-pricing-2025 split test on non-plans pages ( #22785 )
...
* [web] rm split test from the change to group modal
* [web] rm split test from cancel flow
* [web] rm split test from checkout flow
* [web] rm unused translations
GitOrigin-RevId: 0188f2631ed18e79fdf55dabedac7cdea4f213d3
2025-01-16 09:05:22 +00:00
M Fahru
2ef5db2938
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
MoxAmber
18aa1b4e3b
[Group Pricing] Add price change warning to cancellation flow ( #22640 )
...
* Add price change warning to cancellation flow
* Fixes lint error from translated string
* update pricing effective date
---------
Co-authored-by: Kristina Hjertberg <kristina.hjertberg@overleaf.com >
GitOrigin-RevId: d1b6982ff437d931144feffddcbddd96f5a3405b
2025-01-07 09:04:36 +00:00