Commit graph

22552 commits

Author SHA1 Message Date
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
Antoine Clausse
76955c814a Remove subscription-cancel-button (#17976)
I believe this was already removed since https://github.com/overleaf/internal/pull/13311

GitOrigin-RevId: e486f2fce794fc9d587da331547834c3b6158ceb
2024-04-19 08:03:49 +00:00
CloudBuild
02cae2bc2f auto update translation
GitOrigin-RevId: 7072891e8fdd534edae10b3ba59f286ff0e2b7ca
2024-04-18 08:04:39 +00:00
M Fahru
b62af4b922 Merge pull request #17988 from overleaf/mf-change-nvidia-to-samsung
Change NVIDIA to Samsung in our marketing pages

GitOrigin-RevId: fb5ad88075fa9349fff7da66cf7981ddf98ce37d
2024-04-18 08:04:34 +00:00
M Fahru
4424072ba5 Merge pull request #17891 from overleaf/mf-register-header-logo-link
[web][website-redesign] In register page, make the top header logo a link to the home page

GitOrigin-RevId: d940c727899222c578ba0780206ca072682c925d
2024-04-18 08:04:27 +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
roo hutton
d53a3e315e Merge pull request #17879 from overleaf/rh-refresh-collab
Refresh websocket on collaborator change

GitOrigin-RevId: b05444d592f5952a08bad51c9f529ed9183d042f
2024-04-17 08:05:18 +00:00
CloudBuild
407a1f640b auto update translation
GitOrigin-RevId: 488ec9d5d551ab5d6bf8df73f86ae4a3d66a3008
2024-04-17 08:05:14 +00:00
Rebeka Dekany
fa3f51fb2e Merge pull request #17806 from overleaf/rd-bootstrap-button2
[web] - Updating the Account Settings page with the Button and Icon Button wrappers

GitOrigin-RevId: 135c4ddaa64d009d3ab8cdfef9cff899fd77669c
2024-04-17 08:05:10 +00:00
Rebeka Dekany
f6d5152a37 Merge pull request #17904 from overleaf/td-bs5-button-focus-style
Bootstrap 5: fixes to button focus ring and background colour

GitOrigin-RevId: d89077e975c2aeb7fea385e0b8c34c92c104cc2b
2024-04-17 08:05:05 +00:00
Alf Eaton
4a68a5f8bc Discontinue the bonus program (#17919)
GitOrigin-RevId: d30ace08a340dd17a68c3cfe82e589bb37b5959f
2024-04-17 08:04:58 +00:00
Alf Eaton
63c789f2ae Upgrade pdf.js to 4.0.379 (#17641)
GitOrigin-RevId: ce65e7d08d7f96c97f1a122898a02294f58ddb92
2024-04-17 08:04:53 +00:00
Alf Eaton
76b34fb0f7 Upgrade CodeMirror view dependency (#17929)
GitOrigin-RevId: cba9d3c73f4ed402fe9b6c5413555c622ca1f7ce
2024-04-17 08:04:45 +00:00
Eric Mc Sween
88fe3e2942 Merge pull request #17910 from overleaf/em-comment-ids
Include id in history Comment instances

GitOrigin-RevId: 25b897e8e9e8d7b19dfe2d90d7f0cafeb5e6e97f
2024-04-17 08:04:41 +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
Domagoj Kriskovic
238e63e08c [document-updater] Avoid sending empty ops to project-history (#17920)
GitOrigin-RevId: a5156d99be373feb111bcc956d70c0f47047dd72
2024-04-17 08:04:22 +00:00
Domagoj Kriskovic
c4437c69bc Send operations to project-history when accepting tracked changes (#17599)
* added getHistoryOpForAcceptedChange in RangesManager

* rename adjustHistoryUpdatesMetadata to be treated as public

* handle retain op in UpdateTranslator and updateCompressor

* send op to project-history in acceptChanges

* use promises.queueOps

* use ranges in getHistoryOpForAcceptedChange

* using rangesWithChangeRemoved

* acceptChanges acceptance test

* using change.op.hpos

* Revert "using change.op.hpos"

This reverts commit f53333b5099c840ab8fb8bb08df198ad6cfa2d84.

* use getHistoryOpForAcceptedChanges

* fix historyDocLength

* Revert "rename adjustHistoryUpdatesMetadata to be treated as public"

This reverts commit 2ba9443fd040a5c953828584285887c00dc40ea6.

* fix typescript issues

* sort changes before creating history updates

* fix tests

* sinon spy RangesManager.getHistoryUpdatesForAcceptedChanges

* added unit tests

* sort deletes before inserts

* use getDocLength function

* fix docLength calculation

* fix typo

* allow all retains

* fix lint error

* refactor RangesTests

* fix ts error

* fix history_doc_length calculation in RangesManager

* remove retain tracking check from UpdateCompressor

* use makeRanges() properly in tests

* refactor acceptance tests

GitOrigin-RevId: ab12ec53c5f52c20d44827c6037335e048f2edb0
2024-04-17 08:04:17 +00:00
Mathias Jakobsen
1116f9ea9a [overleaf-editor-core+project-history] Clean up TrackedChangeList api (#17740)
* [overleaf-editor-core+project-history] Mark TC list backing array as private

* [overleaf-editor-core] Add invariant for overlapping comment ranges

* [overleaf-editor-core] Assert that ranges are non-empty

GitOrigin-RevId: e60a3712eba2326e0767a75a3ffc75333311c057
2024-04-17 08:04:13 +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
Jakob Ackermann
e100d85940 Merge pull request #17422 from overleaf/jpa-avoid-resize-observer-loop
[web] avoid ResizeObserver loop when opening logs pane

GitOrigin-RevId: fb9c54e137785b34af01d031e182b66969711e41
2024-04-17 08:03:59 +00:00
CloudBuild
91b67bc0bd auto update translation
GitOrigin-RevId: 3dcbbdf39ec5106a69f592d1e84fdba1a0ac7ec2
2024-04-16 08:05:03 +00:00
M Fahru
9f38436f10 Merge pull request #17736 from overleaf/ii-bs5-tooltip
[web] Create Btoostrap 5 tooltips

GitOrigin-RevId: 28c7c389bda74765482049750fc0ae8a5995968e
2024-04-16 08:04:42 +00:00
M Fahru
a0da44358f Merge pull request #17892 from overleaf/mf-remove-newsletter-artifact
[web] Remove leftover code from the torn down onboarding flow split test

GitOrigin-RevId: 2d87cfe4d916b0d7a7a224c12f22c599e196d69f
2024-04-16 08:04:38 +00:00
David
a01d35e0fd Merge pull request #17784 from overleaf/dp-pay-0-teardown
Tear down pay-0-trial split test

GitOrigin-RevId: dcda9f205120e1e1e17324961f6d3066554f9412
2024-04-16 08:04:30 +00:00
Eric Mc Sween
d0cd02d0ac Merge pull request #17885 from overleaf/em-sp-missing-env
Add proper environment in CE/Server Pro preshutdown scripts

GitOrigin-RevId: 84ec76de67e91a4acc1f326a701ebb13a3f1322f
2024-04-16 08:04:26 +00:00
Andrew Rumble
6100954635 Merge pull request #17863 from overleaf/ar-set-socket-disconnect-timeout-to-match-wire-value
Set socket disconnect timeout to match wire value

GitOrigin-RevId: b3bfc460090b872500b55b0d5e2167b828ef31f4
2024-04-16 08:04:22 +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
ilkin-overleaf
bd570cc473 Merge pull request #17576 from overleaf/ii-bs5-alert
[web] Bootstrap 5 notifications

GitOrigin-RevId: 4409f1b76923d96f1b8297beb35a383d9aa7ec8c
2024-04-16 08:04:00 +00:00
Torben
78bd986d0e Since the creation of the user happens asynchronously, the node process dies before it has created the user or sent the mail. 2024-04-15 14:45:40 +02:00
CloudBuild
1a7f6514a4 auto update translation
GitOrigin-RevId: 029337f00be06e0c24ebbf9272b83a7f2fbdd235
2024-04-15 08:05:04 +00:00
Eric Mc Sween
1c0f5357aa Merge pull request #17843 from overleaf/em-fix-422-resyncs
Change in history 422 error messages

GitOrigin-RevId: 414642c838703c9084058e1204192ec1cbb1e0a3
2024-04-15 08:04:51 +00:00
Eric Mc Sween
ab17eb150d Merge pull request #17745 from overleaf/em-promisify-snapshot-manager
Promisify SnapshotManager

GitOrigin-RevId: 1fa7124da3aa3e0be5db372e68e286d63f496a97
2024-04-15 08:04:46 +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
f5ac5b0ed3 Merge pull request #17878 from overleaf/mj-keyboard-navigation-firefox-115
[web] Use getAttribute rather than accessing Element.role

GitOrigin-RevId: a6732180d945ccc4ac0300af07e52228e9f2c928
2024-04-12 08:06:27 +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
11b3c60f60 Merge pull request #17739 from overleaf/jel-remove-group-beta-badge
[web] Remove beta badge from group SSO settings page

GitOrigin-RevId: b580515c58cfbe40a50a14c365d2541fc818d53e
2024-04-12 08:06:13 +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
Jessica Lawshe
751e079105 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
M Fahru
510bb062ee Merge pull request #17845 from overleaf/mf-add-icon-error-login-home
[web][website-redesign] Add notification icon and make the notification text to be left-justified

GitOrigin-RevId: 8a678f05fbd3467be87198aca2a631ff31d1fb7d
2024-04-12 08:05:52 +00:00
Eric Mc Sween
d12a0b5f07 Merge pull request #17735 from overleaf/em-promisify-web-api-manager
Promisify WebApiManager

GitOrigin-RevId: 95addc9442845252aa51c353676486b2dbce0662
2024-04-12 08:05:39 +00:00
Eric Mc Sween
3b555ac9e6 Merge pull request #17731 from overleaf/em-promisify-error-recorder
Promisify ErrorRecorder

GitOrigin-RevId: 3736567272a09b4e3b9075118460392c1f66f0d7
2024-04-12 08:05:34 +00:00
Eric Mc Sween
f03e3fd51e Merge pull request #17729 from overleaf/em-promisify-sync-manager
Promisify SyncManager

GitOrigin-RevId: 134770d812a493e39410debb370ed4a58ffff4bf
2024-04-12 08:05:29 +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
ea0a99253c Merge pull request #17864 from overleaf/jpa-fix-redirect
[web] fix navigation flow after try premium page when using skip button

GitOrigin-RevId: 1ae7ccdb14f7125919bc97746761a21c6896938f
2024-04-12 08:05:15 +00:00
Tim Down
a345eb42c2 Merge pull request #17712 from overleaf/td-bs5-feature-flag
Add feature flag check and per-page opt-in for Bootstrap 5

GitOrigin-RevId: 111474c19f0202efc4e701eef597c7653f8e8b61
2024-04-12 08:05:10 +00:00