Commit graph

7325 commits

Author SHA1 Message Date
Antoine Clausse
9419cc3b37 [web] Add tests to collect_paypal_past_due_invoice.js + update logging (#18310)
* Fix: Invoices collected array length comparison

Update the code with the correct condition to respect the intent of the previous implementation ("exit with non zero code when no invoicess were processed").
See 5476f39984

However, I'm not sure if erroring when no invoices are collected is actually what we want to do.

* Wrap `collect_paypal_past_due_invoice` script and export the function

* Fixup typo `accoutns`

* Log invoices collection data before throwing

* Add note: `handleAPIError` is silencing the errors

* Create a test on `collect_paypal_past_due_invoice`

* Replace `console.log` by `@overleaf/logger` (bunyan)

Our `console.warn` show up as Errors (in red) in GCP. For example the following is an error in GCP:
```
Errors in attemptInvoiceCollection with id=2693634 OError: Recurly API returned with status code: 400
```
https://github.com/overleaf/internal/blob/5476f39/services/web/scripts/recurly/collect_paypal_past_due_invoice.js#L9

---

Does it correctly set the levels as warnings if we use `@overleaf/logger`

GitOrigin-RevId: 37c8bdf4afd8cef4706700aafb44480ec8966a74
2024-05-15 08:04:46 +00:00
David
6718729087 Merge pull request #18318 from overleaf/dp-revert-secondary-email
Revert "Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui"

GitOrigin-RevId: d8af37a5c332ac21ddd4c85679553df0bda326f9
2024-05-14 08:04:11 +00:00
David
0630e96d49 Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui
Add UI for secondary email prompt

GitOrigin-RevId: 887b2c7f0047f19b605f03745f7dda83926ec70b
2024-05-14 08:04:01 +00:00
Brian Gough
41cb0859db Merge pull request #18283 from overleaf/bg-session-secret-use-session-secret-in-web
replace SECURITY_SESSION_SECRET with SESSION_SECRET in web

GitOrigin-RevId: f6ff5f13cf04e1b59fe44a394a0888af55ae140f
2024-05-14 08:03:57 +00:00
Jakob Ackermann
9ea6b2f8b1 Merge pull request #18252 from overleaf/jpa-refactor-for-flaky-test
[web] refactor background job for setting root doc automatically

GitOrigin-RevId: 719c010eb3e5b692908b7a6fea9d8522b9fc01b9
2024-05-09 08:05:23 +00:00
Copybot
9ee7c86b41 Merge pull request #1208 from tgotowik:hotfix-user-create-mail
GitOrigin-RevId: 8e4c159513533598b1ad3eb223a4a7033a2ef736
2024-05-09 08:05:19 +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
Antoine Clausse
eca84b9370 Reintroduce compile sampling for analysis (#18217)
* Revert "Merge pull request #14143 from overleaf/jlm-unsampled-compiles"

This reverts commit 2457977d61756be52db506d7c84531b22a26abe0, reversing
changes made to 3c452b3943c453707aac90d38e7b5b2ea9df0df4.

* Re-add export of `getPercentile` in SplitTestHandler.js

Was previously removed in aa8c0aadec

GitOrigin-RevId: 42c48829e7246a6bdb9dbb2d075638c1eafdf2f0
2024-05-06 08:04:45 +00:00
Jakob Ackermann
9981be0cc1 Merge pull request #18199 from overleaf/jpa-cleanup-redirects
[web] cleanup redirects in session when reaching project dashboard

GitOrigin-RevId: aff131ebf68dda059d7d6949563e72834decd894
2024-05-06 08:04:10 +00:00
Alf Eaton
9729befe59 Merge pull request #18170 from overleaf/ae-token-access-page
Convert token access page to React

GitOrigin-RevId: d7434f0de395c47a95d00767727fbe9d43f9abca
2024-05-03 08:05:01 +00:00
Jakob Ackermann
4c49841637 Merge pull request #18153 from overleaf/jpa-validate-session-in-store
[web] check for redis connection being out of sync in session store

GitOrigin-RevId: c271e88d4e1fbcb0f7a57f4775e8ef88b70b16a8
2024-05-03 08:04:25 +00:00
Jakob Ackermann
0576e02127 Merge pull request #18152 from overleaf/jpa-stricter-session-validation
[web] stricter session validation

GitOrigin-RevId: 3ef916318fde7f31e3e3fd0f7082dde7a2975a27
2024-05-03 08:04:20 +00:00
Tim Down
a452e1e8cd Merge pull request #18195 from overleaf/revert-18120-td-bs5-load-js
Revert "Load correct JS for the active Bootstrap version"

GitOrigin-RevId: 7f6e846b5461cfbacec874ed55bba577e414f3a6
2024-05-03 08:04:16 +00:00
Tim Down
56150d9dbc Load correct JS for the active Bootstrap version (#18120)
* Load correct JS for the active Bootstrap version

* Tidy up bootstrapVersion declaration

* Add Bootstrap JS to website redesign layout

* FIx error on interstitial subscriptions page

* Remove unnecessary import of jQuery and Bootstrap

* Use global entrypointScripts in bootstrap-js mixin

GitOrigin-RevId: 6b1977354a72dc69008fc0d2e3baec2f28d97f6b
2024-05-03 08:04:07 +00:00
Jessica Lawshe
ae0abd6445 Merge pull request #18159 from overleaf/jel-group-invite-header
[web] Break word on group invite header

GitOrigin-RevId: 790c24e8291f1dbdfa9231e4c9e3d4e531bf2b8f
2024-05-02 08:03:52 +00:00
Rebeka Dekany
62c2937dac Merge pull request #18164 from overleaf/rd-remove-endpoints
[web] Remove publicly accessible endpoints

GitOrigin-RevId: c8e57faf6418274cac36b6e721c97a4ca70a1193
2024-05-01 08:04:46 +00:00
Andrew Rumble
9c3d9ef590 Merge pull request #17935 from overleaf/ar-refactor-compile-async
[web] make CompileManager async

GitOrigin-RevId: 617bde1f429fa9aafc7d4bf4ec628b2a22386b19
2024-04-30 08:04:43 +00:00
Brian Gough
29105911c5 Merge pull request #17732 from overleaf/bg-session-mitigation-initial-protoype
anonymous cookie-based sessions module

GitOrigin-RevId: 75fe2d48fa384ba8d07c0b478a9a5a907a2b3b67
2024-04-26 08:04:54 +00:00
Jakob Ackermann
90a02ebc2f Merge pull request #17949 from overleaf/jpa-set-nx-xx
[web] stricter writes to redis when creating and updating sessions

GitOrigin-RevId: 79723e0d38884bf723c7a2ba32993e4daa2612a0
2024-04-26 08:04:35 +00:00
Antoine Clausse
ede03daafd Rename test to local-ccy-format-v2 to restart with clean data (#18115)
GitOrigin-RevId: 610495f41d69f8cac1a427ef7b8d64886bc5cdba
2024-04-26 08:04:26 +00:00
Antoine Clausse
e32b4f0db1 [web] Handle error cause by currencyDisplay: 'narrowSymbol' in old browsers (#18060)
* Handle error cause by `currencyDisplay: 'narrowSymbol'` in old browsers

RangeError
Value narrowSymbol out of range for Number.prototype.toLocaleString options property currencyDisplay

* Make `formatCurrencyLocalized` bulletproof

GitOrigin-RevId: 26e8abc6f9fb7c06c2d14b9d86af2d84fb9f32e3
2024-04-26 08:04:22 +00:00
David
c2448ff3d2 Merge pull request #17947 from overleaf/dp-secondary-email-confirmation-code
Add endpoints for secondary email confirmation by code

GitOrigin-RevId: c2829672fd9aeca457f76958d4922b9c95086f26
2024-04-26 08:04:00 +00:00
Jessica Lawshe
8d1885cd50 Merge pull request #18073 from overleaf/jel-sso-disabled-email-alert
[web] Send SSO disabled email to non-managed and linked users

GitOrigin-RevId: d5e6739efd432b396dcd7fa3dd37e18d2b9dc933
2024-04-25 08:05:30 +00:00
Jessica Lawshe
0b86bc04ad Merge pull request #18045 from overleaf/jel-user-settings-sso-groups
[web] Use `getUserGroupsSSOEnrollmentStatus` helper

GitOrigin-RevId: 4846d513964a63afb620ee2dbb5b810dd0aa4e60
2024-04-25 08:05:22 +00:00
Jessica Lawshe
7e3dfded2d Merge pull request #17821 from overleaf/jel-subscription-populate
[web] Only populate the required admin data for the subscription

GitOrigin-RevId: 4c2de85ce9f26b337deeff491b40d74756f21702
2024-04-25 08:05:03 +00:00
Jessica Lawshe
94e9456a4b Merge pull request #17793 from overleaf/jel-password-token-when-managed-linked
[web] Check permissions when using password reset token

GitOrigin-RevId: b5339d5ad5322fcae7beaa99fb40a87ffb938b52
2024-04-25 08:04:58 +00:00
David
2a725b3a26 Merge pull request #18077 from overleaf/dp-teardown-share-modal-paywall-split-test
Tear down project-share-modal-paywall split test

GitOrigin-RevId: b85e6cdf2243a76d071607e55a33f9909f704b76
2024-04-25 08:04:21 +00:00
Jimmy Domagala-Tang
2c11ad84e0 Merge pull request #18071 from overleaf/jdt-bib-events
Bibliography events for 3rd party integrations

GitOrigin-RevId: d8d7f4378d75166481d5265d2e8bef72d75968c3
2024-04-24 08:05:11 +00:00
Antoine Clausse
0c4ca15003 [web] Add #main-content to some pug pages (fix skip-to-content links) (#18050)
* Add `#main-content` to some pug pages

This fixes our `skip-to-content` accessibility anchor links. Alternatively or additionally, we can set `suppressSkipToContent = true` in some pages: that will remove the anchor link in the page.

While working on this, I noticed that sometimes we still have a bit of extra nesting or components that should maybe be out of `<main>` or `#main-content`. In a future PR we can maybe update these elements to target the "real core content" of the page.

* Add `suppressSkipToContent` in confirm-email page

GitOrigin-RevId: 6cbf4112f2d1a2d8eff06f142d0c2b4f3a5d9cff
2024-04-24 08:04:43 +00:00
Antoine Clausse
2a5dca0897 [web] Fix thousands separators in plan page for LATAM currencies (#18068)
Use function from https://github.com/overleaf/internal/blob/e486f2fc/services/web/scripts/plan-prices/plans.js#L123-L135

GitOrigin-RevId: e83ea429112c92e07857ee4d3e5fd43c81fcb871
2024-04-24 08:04:39 +00:00
Mathias Jakobsen
5aee58c6f4 Merge pull request #17956 from overleaf/mj-web-promisify-restore-manager
[web] Promisify RestoreManager

GitOrigin-RevId: cd3395f8cb7b90e19828297e1c89c1d3850877a6
2024-04-24 08:04:26 +00:00
David
ce00af7838 Merge pull request #18011 from overleaf/dp-make-_getRedirectFromSession-public
Make _getRedirectFromSession a public method

GitOrigin-RevId: 6538e4ec25e607d32beb944370d151d4f1a3709c
2024-04-24 08:04:13 +00:00
Alf Eaton
98cefaa5bd Remove "upgrade to annual" page (#18014)
GitOrigin-RevId: b9f92ad038adab7fc7eb5e2a7175461bfefee379
2024-04-24 08:04:04 +00:00
Alexandre Bourdin
1336b2daeb Merge pull request #18058 from overleaf/ab-split-test-convert-race-cond-fix
[web] Prevent failure due to race condition where converting anon assignments

GitOrigin-RevId: 81eb16689724b9ddc2ec7e23df2c3ea55837b83c
2024-04-23 08:05:54 +00:00
Jimmy Domagala-Tang
4fcade16cb Merge pull request #17888 from overleaf/jdt-async-tpr
Async Await the third party references module

GitOrigin-RevId: 58bbc4160cf00bf26b2cd2ea81659ba213f95294
2024-04-23 08:05:50 +00:00
Alf Eaton
1f14746111 Remove latex-log-parser split test (#17999)
GitOrigin-RevId: 5accb0e5fc4c1ecce563f1d6f991de8c8633308b
2024-04-23 08:05:16 +00:00
Alexandre Bourdin
9fc6fa9b77 Merge pull request #18017 from overleaf/ab-convert-assigned-at-date
[web] Transform assignedAt back to date for conversion

GitOrigin-RevId: bd0213b337f765d8512386f9f5d3fc6d03572e33
2024-04-23 08:04:52 +00:00
Alexandre Bourdin
3022f573e9 Merge pull request #18022 from overleaf/revert-18018-revert-17906-ab-split-test-assignments-optim-pt2
Revert "Revert "[web] Store anonymous users split test assignments in new format in session""

GitOrigin-RevId: bd48a21c17df91eda1536378d8d999a1933e83a2
2024-04-23 08:04:47 +00:00
Davinder Singh
a179751986 Merge pull request #17866 from overleaf/ds-banner-labels
Geo Pricing- Update Banner message on Latam america

GitOrigin-RevId: 7a8adf8e31e7ba4bc1b415a26c492bf6e5867328
2024-04-23 08:04:19 +00:00
roo hutton
06cac44d84 Merge pull request #18021 from overleaf/rh-mailchimp-api
[web] Replace node-mailchimp with own MailChimpClient

GitOrigin-RevId: 10207620c48f30ad29f4f0e7ea5193c11d256902
2024-04-22 08:04:33 +00:00
roo hutton
9601fd097a Merge pull request #17946 from overleaf/rh-promisify-third-party-identity-
[web] Promisify ThirdPartyIdentityManager and ThirdPartyIdentityManagerTests

GitOrigin-RevId: f7d24f73213fb0a43eb453aa21749b21ba60b83d
2024-04-22 08:04:28 +00:00
Christopher Hoskin
2100cd14fc Merge pull request #18012 from overleaf/bg-mongo-upgrade-remove-sort-from-project-deactivation-query
Simplify query for old projects in InactiveProjectManager

GitOrigin-RevId: 6c712c3b095abec9c777332a07ed888178947b40
2024-04-22 08:03:55 +00:00
Alexandre Bourdin
14bbc65e99 Merge pull request #18018 from overleaf/revert-17906-ab-split-test-assignments-optim-pt2
Revert "[web] Store anonymous users split test assignments in new format in session"

GitOrigin-RevId: 2c1a95031a9d1d99b9dfef54eb4b80264a32ba0d
2024-04-19 08:04:27 +00:00
Alexandre Bourdin
bfe75c7d31 Merge pull request #17906 from overleaf/ab-split-test-assignments-optim-pt2
[web] Store anonymous users split test assignments in new format in session

GitOrigin-RevId: a5f71f7dcad7e7b11fc6a391bd5182525b3bdf03
2024-04-19 08:04:23 +00:00
Alexandre Bourdin
e4e054e8bb Merge pull request #18008 from overleaf/ab-fix-anon-assignment-append
[web] Fix anonymous assignment append to session

GitOrigin-RevId: 402cd94ec6250e15f0e35cb69af3977c78ec5a7d
2024-04-19 08:04:19 +00:00
Alexandre Bourdin
cdf4f98c87 Merge pull request #17957 from overleaf/ab-archive-test-slack-notif-date
[web] Send correct date for Slack notification when archiving a split test

GitOrigin-RevId: acf39915e3362f90b431b6c973e1191428acd9c9
2024-04-19 08:04:15 +00:00
Alexandre Bourdin
bee4c95c28 Merge pull request #17907 from overleaf/ab-split-test-assignments-optim-pt1
[web] Read anonymous split test assignments in session from both old&new fields

GitOrigin-RevId: 5235bb3e7d72d5ff9e89c6543b70fb80e9f1213c
2024-04-19 08:04:11 +00:00
Domagoj Kriskovic
945e51b8ed [web] add Revert File button behind a feature flag (#17975)
* [web] add Revert File button behind a feature flag

* improve error message

* use constant for timeout

GitOrigin-RevId: 047c35d22e948351c52d469e48b869719f44ec4f
2024-04-19 08:04:06 +00:00
David
0cf17478fe Merge pull request #17810 from overleaf/dp-compormised-password-prompt
Add compromised password prompt

GitOrigin-RevId: 7910a220943fcb3aa191da6d514d5bc3ae20f5a3
2024-04-19 08:03:58 +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