Commit graph

14205 commits

Author SHA1 Message Date
Mathias Jakobsen
80044b53b4 Merge pull request #18571 from overleaf/mj-error-reporting-more-info
[web] Add frontend release and load time to error reporting

GitOrigin-RevId: f362569d0012131d4538016573d1488b30b5c790
2024-05-30 08:04:40 +00:00
Antoine Clausse
36f0a3e01a [web] Promisify ProjectController (#18477)
* Create `promiseAuto` util to replace `async.auto`

* Promisify `BrandVariationsHandler.getBrandVariationById`

* Promisify `updateProjectSettings`

* Promisify `updateProjectAdminSettings`

* Promisify `newProject`

* Promisify `deleteProject`

* Promisify `loadEditor`

* Fix brandVariation loading in promise auto

* Promisify `_refreshFeatures`

* Promisify `_injectProjectUsers`

* Fix `no-inner-declarations`

* Promisify `cloneProject`

* Promisify `userProjectsJson`

* Promisify `projectEntitiesJson`

* Promisify `restoreProject`

* Promisify `renameProject`

* Additional warning fix

* Update unit tests

* Fixup `updateProjectSettings`: call jobs inside the Promise.all

* Use `expressify(...)` instead of manually call `next(err)`

https://github.com/overleaf/internal/pull/18477#discussion_r1613611987
https://github.com/overleaf/internal/pull/18477#discussion_r1613621146
https://github.com/overleaf/internal/pull/18477#discussion_r1613634000
...

* Replace Promise.all by sequencial awaits

https://github.com/overleaf/internal/pull/18477#discussion_r1613852746
https://github.com/overleaf/internal/pull/18477#discussion_r1613611987

* Remove manual throws of 500. Let the generic error handler catch them.

https://github.com/overleaf/internal/pull/18477#discussion_r1613623446
https://github.com/overleaf/internal/pull/18477#discussion_r1613628955

* Promisify `untrashProject`

https://github.com/overleaf/internal/pull/18477#discussion_r1613627783

* Promisify `expireDeletedProjectsAfterDuration`

* Promisify `archiveProject`

* Promisify `unarchiveProject`

* Promisify `trashProject`

* Promisify `expireDeletedProject`

* Use async `setTimeout` from `timers/promise`

https://github.com/overleaf/internal/pull/18477#discussion_r1613843085

* Remove unused `_injectProjectUsers`

https://github.com/overleaf/internal/pull/18477#discussion_r1613855766

* Add missing exec in queries (?)

Not sure if that makes a real difference but it's more consistent with the rest of the code

* Catch floating promises

https://github.com/overleaf/internal/pull/18477#discussion_r1613868876

* Replace custom `promiseAuto` by `p-props` from NPM

https://github.com/overleaf/internal/pull/18477#discussion_r1613393294

* Downgrade `p-props` to v4. Later versions require ESM

* Simplify code around `splitTestAssignments`

GitOrigin-RevId: 84d37f7aa9227b5b9acf9eeb5db1b78afc01b6ee
2024-05-30 08:04:36 +00:00
Antoine Clausse
01e1286a8b In PayPal collect invoices script: Update throw unsuccessful invoices collections (#18572)
* Remove throw on `INVOICES_COLLECTED_SUCCESS.length === 0`

Effectively reverts 038377b511

See: https://digital-science.slack.com/archives/C20TZCMMF/p1716973110408049

* Update tests so they don't expect rejections

* Reject when some invoice collection failed

GitOrigin-RevId: aa37f7fa37c96b8624e87d94be675d115e3250a9
2024-05-30 08:04:31 +00:00
M Fahru
69871fccbe Fix plans page hash does not get updated if no hash is on the URL
Example case: visit plans page via other pages, the hash will be empty initially, this commit will make sure hash is updated even though no initial hash exists.

GitOrigin-RevId: 411585111e8cf1b3eb803059ad4cf98ae4e69b19
2024-05-30 08:04:27 +00:00
Domagoj Kriskovic
218a4538c1 [web] support for reverting binary files (#18033)
* [web] revert binary file

* use addEntityWithName if file was deleted

* todo comments

* only show Revert file in ui even if deleted

* use _revertBinaryFile function

* emit new ids when reverting

* format:fix

* await emitToRoom calls

* use EditorController.upsertFile

* remove _revertBinaryFile function

* binary file check

* mock importFile method in tests

* move findElementByPath stub

* debug ci error

* resolve with empty object as file

* fix tests

* remove await before expect()

* format:fix

* test when binary file exists and when it does not

* use "file-revert" for source

* [web] revert existing file without ranges support (#18107)

* [web] revert existing file without ranges support

* ignore document_updated_externally if file-revert

* fix test

GitOrigin-RevId: a5e0c83a7635bc7d934dec9debe916bdd4beb51e
2024-05-30 08:04:20 +00:00
Tim Down
3b2e60ece7 Merge pull request #18558 from overleaf/td-bs5-query-string-override
Add a mechanism to hide incomplete Bootstrap 5 pages by default

GitOrigin-RevId: 07cc998bf3a0bed9df2f43d1c04c62d167c9b893
2024-05-30 08:04:15 +00:00
Tim Down
c67e677157 Merge pull request #18389 from overleaf/td-bs5-move-sass-npm-packages
Move Sass and related packages into web

GitOrigin-RevId: 89a58d0caa3261e3fe87292e999d1f6f799b683d
2024-05-30 08:04:11 +00:00
Andrew Rumble
22e0e51796 Merge pull request #18464 from overleaf/ar-pass-analytics-id-to-google-analytics
Add analytics ID to google analytics when configuring

GitOrigin-RevId: e2372f68217583a90df427a853e62513f1535006
2024-05-30 08:04:07 +00:00
Davinder Singh
1664722769 Merge pull request #18110 from overleaf/ds-sales-contact-form-redesign
Website Redesign - Sales Contact form configuration for the new design

GitOrigin-RevId: 51f933a535bfb7e7640a76072acc54bfb5599dc3
2024-05-30 08:04:02 +00:00
Rebeka Dekany
e3ebcb03d9 Merge pull request #18533 from overleaf/rd-bs5-shadow
[web] Import styles for the modal animation

GitOrigin-RevId: d67ba98e003b314ccd4893f17c8fa78187134d20
2024-05-30 08:03:58 +00:00
Thomas
2fa002e7e9 Merge pull request #17454 from overleaf/tm-remove-old-design-system-variables
Remove unused files from old design system

GitOrigin-RevId: 3eca6e9b91484376bde176682bbbecbc6897d1d2
2024-05-29 08:05:18 +00:00
M Fahru
c722dcbc8d Merge pull request #18419 from overleaf/mf-plans-page-permanent-url
[web] Create permanent URL for all plans and switch state in the plans page

GitOrigin-RevId: 5fa0af0e33868f8fa4f6a74627bedb4c22705cb0
2024-05-29 08:05:11 +00:00
M Fahru
97469c9bef Merge pull request #17945 from overleaf/mf-fix-disabled-state-btn-primary
[web] Fix website redesign primary button disabled style not applied properly because of CSS specificity issue

GitOrigin-RevId: 251d1f5b26bfe9a064c9bc7fd4c91fc77d8fbfe0
2024-05-29 08:05:01 +00:00
M Fahru
64e231eae4 Merge pull request #18554 from overleaf/ds-v2-second-test-login-register-page
Website Redesign - Spacing fixes on login and register pages in the new design

GitOrigin-RevId: 2012a0c07ee767b666252be2a1867024848b2879
2024-05-29 08:04:53 +00:00
Mathias Jakobsen
d95910fc71 [web] Enable history ranges support behind feature flag (#18429)
GitOrigin-RevId: 2f3b2352d2c157248da350eaf7b1784a605ebf20
2024-05-29 08:04:33 +00:00
Mathias Jakobsen
f14fdc7b7c Merge pull request #17958 from overleaf/mj-web-revert-file
[web] Initial version of file reverting

GitOrigin-RevId: ef500b2c3ddf21b0acb6650c2526edd10ab2cc18
2024-05-29 08:04:16 +00:00
Tim Down
edaba14ed1 Merge pull request #18420 from overleaf/td-bs5-nav
Bootstrap 5: Navigation

GitOrigin-RevId: d22683d78c8b3bc3f41bbd276c36f47d480e24ff
2024-05-29 08:04:05 +00:00
ilkin-overleaf
4e7fbcfe2e Merge pull request #18473 from overleaf/ii-bs5-settings-grid-fix
[web] Adjust column breakpoints in bs5 account settings page

GitOrigin-RevId: 90e7fe7561a75439166472627fdb6189ebcdefa1
2024-05-29 08:03:46 +00:00
ilkin-overleaf
abd57e03cf Merge pull request #17831 from overleaf/msm-filter-saml-error-log
[web] Filter saml error logs by path

GitOrigin-RevId: 4ca9e156657afc893f38fed7ec6b00cbb7a608ef
2024-05-28 08:04:10 +00:00
ilkin-overleaf
fe7de51827 Merge pull request #18338 from overleaf/ii-bs5-split-badges-and-tags
[web] Split badges and tags

GitOrigin-RevId: fce5a93672f431ff74c2b63a67e249f5f7e7fecd
2024-05-28 08:04:05 +00:00
Eric Mc Sween
3a1560894a Merge pull request #18516 from overleaf/em-web-resolved-comment-ids
Reintroduce resolved comment ids in getDocument()

GitOrigin-RevId: 591589efc643c815c40df440d1297158901f7a79
2024-05-28 08:04:01 +00:00
CloudBuild
1889b9a426 auto update translation
GitOrigin-RevId: d3794a68e3d5bc01d1a9ff47d55d644dbd952b1e
2024-05-27 10:24:35 +00:00
Eric Mc Sween
ea8f8d0651 Merge pull request #18506 from overleaf/em-revert-web-resolved-comment-ids
Revert #18398 - return resolved commentIds with getDocument()

GitOrigin-RevId: c5d2dd91d02d88029eb2702d73ac37cb8dbca32c
2024-05-27 10:24:25 +00:00
Eric Mc Sween
92945f504d Merge pull request #18496 from overleaf/rd-pug-warning-attributes
[web] Fix: "You should not have pug tags with multiple attributes" warning

GitOrigin-RevId: 0adfdf6a130c60966eae3c845011975af7eecc44
2024-05-27 10:24:21 +00:00
Eric Mc Sween
83e1452991 Merge pull request #18398 from overleaf/em-web-resolved-comment-ids
Return resolved comment ids with getDocument()

GitOrigin-RevId: 30234f72d52b90b313821290b6c63aa6cc6cb243
2024-05-27 10:24:13 +00:00
Alexandre Bourdin
a0c8cf663a Merge pull request #18000 from overleaf/ab-dev-enable-toolbar-default
[web] Enable the dev-toolbar by default in the dev environment

GitOrigin-RevId: 170e59e9b82268e621fe99ffcc82b7d68467e1b3
2024-05-27 10:23:56 +00:00
CloudBuild
418d77522e auto update translation
GitOrigin-RevId: 0a8a59c7cde3120f2cd54660929850a2d67d3e40
2024-05-27 10:23:51 +00:00
Jimmy Domagala-Tang
81903bb79d Merge pull request #18175 from overleaf/jdt-new-bib-file-prompt
[Web] Add opportunistic prompts for third party references

GitOrigin-RevId: d794df16781d0db707423f23ab12f40a13604907
2024-05-27 10:23:41 +00:00
Brian Gough
344b4d0fa0 Merge pull request #18088 from overleaf/ab-session-secret-rotation
[web/realtime/history-v1] Support session secret rotation

GitOrigin-RevId: 3c2fa27b1b3e0a8e0c9d1af2e616ce873d54aedf
2024-05-27 10:23:33 +00:00
Davinder Singh
a4816d6e75 Merge pull request #18396 from overleaf/ds-register-login-split-test-2
Website redesign - New round of split test for Register and login page

GitOrigin-RevId: 69fe41b004eabe3efede27da80b9885b0fc2750b
2024-05-27 10:23:22 +00:00
Antoine Clausse
554be73a36 In collect_paypal_past_due_invoice.js, iterate over each page instead of gathering data from all pages at first (#18414)
* Create `getPaginatedEndpointIterator` to iterate each page

* Create `waitMs` util, it will replace `slowCallback`

* Make `handleAPIError` async

* Make `isAccountUsingPaypal` async

* Make `attemptInvoiceCollection` async

* Make `attemptInvoicesCollection` async

* Use `await` instead of `new Promise`

* Remove unused callbackified `attemptInvoiceCollection`

* Run `attemptInvoiceCollection` for each page instead of gathering all pages in the beginning

* Add test on fetching multiple pages of invoice

GitOrigin-RevId: 2674b18c6ca5732b873fb2bc71b515909006f93d
2024-05-27 10:23:18 +00:00
CloudBuild
71cc62cd50 auto update translation
GitOrigin-RevId: 1809c29cdcc3191f0a5cffa92c2a28edeb37cc72
2024-05-27 10:23:13 +00:00
M Fahru
926218ed1b [web] Add sales-related option in all of our contact forms (#18395)
- in /contact page
- in navbar -> Help
- in the plans page
- in the editor left menu

GitOrigin-RevId: e9cecafe7c16a23155fca083dbb680ad1f6fe407
2024-05-27 10:23:06 +00:00
Rebeka Dekany
a0334898db Merge pull request #18437 from overleaf/rd-bs5-project-dashboard
Enable Bootstrap 5 to load for the project dashboard page

GitOrigin-RevId: 4aa74bd4fde98192b2e5b322bb777a8c8beae237
2024-05-27 10:22:58 +00:00
Rebeka Dekany
8d25fb1131 Merge pull request #18454 from overleaf/rd-managed-account
[web] Use the Notification component for the managed account alert

GitOrigin-RevId: 3839b171348bf0f670b6a033b99078b8543ce2e5
2024-05-27 10:22:53 +00:00
David
029cd4abe7 Merge pull request #18456 from overleaf/dp-fix-main-lint
Fix lint by using recordEventForUserInBackground

GitOrigin-RevId: 3412c9a997ce0921b25408fc584060e528843b88
2024-05-27 10:22:44 +00:00
David
635aae7b1f Merge pull request #18320 from overleaf/dp-add-secondary-prompt-ui
Add secondary email form V2 (with Captcha this time)

GitOrigin-RevId: b06216a2c9cb5b3b09305a17992eca506a0047f5
2024-05-27 10:22:40 +00:00
roo hutton
5aea030184 Merge pull request #18422 from overleaf/rh-managed-acct-delete-email
[web]: Clarify tooltip for managed user attempting to delete email address

GitOrigin-RevId: 82eabc0b9d96773d5d418bec52ea917fd585ec63
2024-05-27 10:22:36 +00:00
CloudBuild
a6d7636a70 auto update translation
GitOrigin-RevId: 52fbd8a23dd32dd7b3141c0ccfd5aabb60807bd8
2024-05-27 10:22:28 +00:00
Eric Mc Sween
a22319fe46 Merge pull request #18453 from overleaf/em-fix-floating-promise
Fix no-floating-promises lint rule

GitOrigin-RevId: 58f89e0078abf72be65552f9468cb225e5758e3e
2024-05-27 10:22:24 +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
Rebeka Dekany
5af6acde2b Merge pull request #18390 from overleaf/rd-bs5-close-position
[web ] Fix the close button position of modal header

GitOrigin-RevId: 79c6cf272f69446cb5849421445f016ea6d53403
2024-05-27 10:22:08 +00:00
Rebeka Dekany
74f0483157 Merge pull request #18418 from overleaf/rd-bs5-cookie-banner
[web] Migrate the cookie banner to Bootstrap 5

GitOrigin-RevId: 79dd74e2cf09faab381f24101a3633b0377009a0
2024-05-27 10:22:04 +00:00
Alf Eaton
3434d8c908 Trigger PDF.js canvas redraw on document visibility change (#18446)
GitOrigin-RevId: 44b3ce3ebd8b0e48c51451bbfc5c2d54397a9355
2024-05-27 10:21:59 +00:00
Alf Eaton
6569f49a92 Set isEvalSupported to false when loading a PDF document (#18444)
GitOrigin-RevId: 394d63571d83302b91b5719389adf49155218bc7
2024-05-27 10:21:55 +00:00
Alf Eaton
3cb4190ef0 Merge pull request #18223 from overleaf/jpa-lazy-init-matcher
[web] initialize matcher for ignored file paths lazily

GitOrigin-RevId: ed04b286e188ad73e3090822965b19ccf2e7d2b4
2024-05-27 10:21:51 +00:00
Antoine Clausse
3300811d3a [web] Simplify removeSessionsFromRedis signature (#18440)
* Simplify `removeSessionsFromRedis` signature

* Update usage of `removeSessionsFromRedis`

* Fix tests around `removeSessionsFromRedis`

* Add comments "remove all sessions except the current session"

GitOrigin-RevId: 03bf99c14faf2c8e403bc4bcc16463a70e031284
2024-05-27 10:21:30 +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
ilkin-overleaf
d56f5a3030 Merge pull request #18424 from overleaf/ii-delete-with-body-fe
[web] Replace delete with post requests when having body (FE)

GitOrigin-RevId: df727f35ea77eaa8273687f75aafd9bd983b7f25
2024-05-21 08:04:48 +00:00
ilkin-overleaf
7ca9a5b61b Merge pull request #18415 from overleaf/ii-delete-with-body
[web] Replace delete with post requests when having body

GitOrigin-RevId: b580cfa3bd53c21f46de72f3a36b647fda143b04
2024-05-21 08:04:44 +00:00