Commit Graph

778 Commits

Author SHA1 Message Date
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
Jakob Ackermann
39110d9da9 [clsi-cache] check compiler settings before using compile from cache (#24845)
* [web] provide an actual rootFolder from EditorProviders in tests

- Fixup SocketIOMock and ShareJS mocks to provide the complete interface
- Extend SocketIOMock interface to count event listeners
- Fixup test that did not expect to find a working rootDoc

* [web] expose imageName from ProjectContext

* [clsi-cache] check compiler settings before using compile from cache

* [web] avoid fetching initial compile from clsi-cache in PDF detach tab

GitOrigin-RevId: e3c754a7ceca55f03a317e1bc8ae45ed12cc2f02
2025-04-16 08:05:35 +00:00
Domagoj Kriskovic
30c5495b21 Update share modal copy for reviewer role (#24694)
* Update share modal copy for reviewer role

* fix ShareProjectModal test

* use "limited_to_n_collaborators_per_project"

GitOrigin-RevId: f5afcb18a3921a6b1132a4c323af9d8395a7d07b
2025-04-15 08:05:14 +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
Jakob Ackermann
b831a0b3f7 [clsi-cache] frontend (#24389)
* [clsi-lb] forward ?clsiserverid=cache requests to clsi-cache

* [web] use clsi-cache in frontend

* [web] upgrade compile from cache to full compile when triggered inflight

* [web] fix pdf-js-viewer.spec.tsx tests -- add ?clsiserverid=foo to url

* [web] fix renamed reference after merge

* [web] fix download of other output files and use specific build

* [web] consolidate validation of filename into ClsiCacheHandler

* [web] remove unused projectName from getLatestBuildFromCache

* [web] avoid hitting the same clsi-cache instance first all the time

* [web] update documentation

GitOrigin-RevId: d48265a7ba89d6731092640e1492bc9f103f5c33
2025-04-10 08:05:22 +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
Domagoj Kriskovic
1fb18b092d Add upgrade prompt for track changes in share modal (#24572)
* Add upgrade prompt for track changes in share modal

* remove message from invite.jsx

* Fix itemToDisabled in Select

GitOrigin-RevId: 5ba9e2b063c7e26a4c39b9e973eddce36a5b4733
2025-04-07 08:05:00 +00:00
ilkin-overleaf
3b5a148cdc Merge pull request #24634 from overleaf/ii-flexible-group-licensing-replace-add-with-purchase
[web] Replace "add" with "buy" in FL

GitOrigin-RevId: 2c9aa50f138306a46ebfd8557d907c6c55d694bc
2025-04-03 08:05:12 +00:00
Domagoj Kriskovic
f36c87b301 Update share modal dropdown with a description for reviewers in a free project (#24571)
* Update collaborator select dropdown with a description for reviewers in free project

* Update share-project-modal test

* Fix saas-e2e tests

* fix server pro tests

* fix cypress multiple inputs selection

* fix testid case

GitOrigin-RevId: 5369828334596d80988aba168385f0a51eea998f
2025-04-03 08:04:59 +00:00
ilkin-overleaf
b9bc2b01fd Merge pull request #24597 from overleaf/ii-flexible-group-licensing-replace-users-with-licenses-2
[web] FL "licenses" in cost summary preview

GitOrigin-RevId: f6020fe0c5903dc2b1ebb923718525403e5a2fe7
2025-03-31 08:04:57 +00:00
ilkin-overleaf
b223bb8da8 Merge pull request #24576 from overleaf/ii-flexible-group-licensing-replace-users-with-licenses
[web] Replace "users" with "licenses" in flexible licensing

GitOrigin-RevId: c262f802c92e7ce82f8dc60badf8e6147c5da4e5
2025-03-31 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
Eric Mc Sween
e4dae982d2 Merge pull request #24225 from overleaf/em-reviewers-share-modal
Count reviewers towards collaborator limit in share modal

GitOrigin-RevId: 27ec3a787124be7590791412d914ec6da78bab35
2025-03-24 10:51:09 +00:00
Rebeka Dekany
562ef81389 Cleanup Bootstrap 3 code in the Account settings page (#24058)
* Remove the Bootstrap 5 version utilities

* Remove Account settings LESS stylesheet and unused styles

* Prefer using the OLFormText wrapper component instead of FormText

* Remove the Bootstrap 3 version stories

* Replace Font Awesome icons to Material icons

* Fix the heading hierarchy

* Cleanup unused translation

* Restore ellipsis to the text of two loading spinners

* Add loading button tests back and add some button loading labels

---------

Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: 283a9167c8c78bf0fe5062840ded6917dcd6263b
2025-03-24 10:49:33 +00:00
Tim Down
7168572e74 Merge pull request #24336 from overleaf/td-bs5-migrate-cypress-tests
Migrate some Cypress tests to Bootstrap 5

GitOrigin-RevId: a3de8680046c35f8cc1df8baef60981d8eb52580
2025-03-24 10:48:25 +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
Alf Eaton
b8d74c6ae0 Remove 'review-panel-redesign' split test and old code (#24235)
GitOrigin-RevId: 1f3d4a9a51429591a82391a9bee3cfdf226bc9c8
2025-03-24 10:48:15 +00:00
ilkin-overleaf
96af83a4ed Merge pull request #24138 from overleaf/ii-flexible-licensing-colombian-pesos
[web] Recurly subtotal limit on flexible licensing

GitOrigin-RevId: 302fb15dcc360e3b47674e8e776ffa115af6cbe6
2025-03-12 09:04:52 +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
ilkin-overleaf
1c4a761478 Merge pull request #24057 from overleaf/ii-group-management-improvements
[web] Group management improvements

GitOrigin-RevId: 01826bf37fa8d5e06595f660ccb42a8df00b63ae
2025-03-11 09:05:20 +00:00
Antoine Clausse
c4e6dfbbbd [web] Use 6-digits code to confirm existing email in Account Settings (#23931)
* Rename `checkSecondaryEmailConfirmationCode` to `checkAddSecondaryEmailConfirmationCode`

* Create function `sendCodeAndStoreInSession`

* Create function `sendExistingSecondaryEmailConfirmationCode`

* Create function `_checkConfirmationCode`

* Create function `checkExistingEmailConfirmationCode`

* Rename `resendSecondaryEmailConfirmationCode` to `resendAddSecondaryEmailConfirmationCode`

* Create function `_resendConfirmationCode`

* Create function `resendExistingSecondaryEmailConfirmationCode`

* Add `ResendConfirmationCodeModal`

* Remove `ResendConfirmationEmailButton`

* `bin/run web npm run extract-translations`

* Update frontend test

* Fix: don't throw on render when send-confirmation-code fails!

* Update phrasing in the UI

Per https://docs.google.com/document/d/1PE1vlZWQN--PjmXpyHR9rV2YPd7OIPIsUbnZaHj0cDI/edit?usp=sharing

* Add unit test

* Don't share the "send-confirmation" and "resend-confirmation" rate-limits

* Update frontend test after copy change

* Rename `checkAddSecondaryEmailConfirmationCode` to `checkNewSecondaryEmailConfirmationCode` and `resendAddSecondaryEmailConfirmationCode` to `resendNewSecondaryEmailConfirmationCode`

* Rename `cb` to `beforeConfirmEmail`

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Return `422` on missing session data

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Add `userId` to log

* Replace `isSecondary` param by `welcomeUser`

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Rename `resend-confirm-email-code`'s `existingEmail` to `email`

* Remove "secondary" from rate-limiters

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Remove unnecessary `userId` check behind `AuthenticationController.requireLogin()`

* Only open the modal if the code was sent successfully

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: df892064641d9f722785699777383b2d863124e1
2025-03-07 09:06: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
Rebeka Dekany
cd133e8240 Show dashboard notification for unconfirmed emails and untrusted secondary emails (#23919)
* Show an aggressive dashboard notification for unconfirmed emails
Show a persistent dashboard notification for untrusted secondary emails

* For emails before the cutoffDate, start displaying the notification on the deletionDate and show the notification for 90 days

* Update the email deletion logic for displaying the email notification and update test

* Update test

GitOrigin-RevId: 1b0e44f79592292d428c634dc1ec4df9e6ceaeb4
2025-03-07 09:05:50 +00:00
Alf Eaton
2147f1d53d Remove Bootstrap 3 code from IDE page components (#23061)
GitOrigin-RevId: b41aff10672bf96e892de0be396a69eb25e2443b
2025-03-07 09:05:45 +00:00
Mathias Jakobsen
733bc26ed1 Merge pull request #23848 from overleaf/dp-settings
Add initial components for new editor settings modal

GitOrigin-RevId: e3eb511d2af9265e0fc1cf54178b3e2953717950
2025-03-05 09:05:34 +00:00
Alf Eaton
18c2b4108d Tidy up global scope values (#20379)
* Remove crypto from window
* Remove ui.loadingStyleSheet
* Remove onlineUsers scope
* Remove addNewComment

GitOrigin-RevId: 5e62ed7f265cdd530b5ca85488477093b0be775a
2025-02-28 09:05:15 +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
ilkin-overleaf
d5adc6ee4b Merge pull request #23806 from overleaf/ii-bs5-manage-group-managers
[web] BS5 Group managers management

GitOrigin-RevId: 912fd29c3d5cf07eab0cd67e2771e60b1ba25fb3
2025-02-28 09:04:35 +00:00
ilkin-overleaf
0783bf1dc7 Merge pull request #23743 from overleaf/ii-bs5-manage-group-members
[web] BS5 Group members management

GitOrigin-RevId: fab24ee6f6de07aa64887e123df930593fcec6a2
2025-02-27 09:04:47 +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
Antoine Clausse
82f2e47476 [web] Show DS Navigation for all SAAS users regardless of feature flag (with fix!) (#23821)
* Reapply "[web] Show DS Navigation for all SAAS users regardless of feature fla…"

This reverts commit 8d4096a7e4b6a7894b1bef14290548225deebd57.

* Fix: `hasDsNav` should check `isOverleaf` !!!

* Change `hasDsNav` from a boolean to a function call for dynamic evaluation

GitOrigin-RevId: 17463ac113a4278ed344622552d83da93b208b4d
2025-02-25 09:04:54 +00:00
Antoine Clausse
47dd074c36 Merge pull request #23811 from overleaf/revert-23801-ac-remove-ds-nav-code-3
Revert "[web] Show DS Navigation for all SAAS users regardless of feature flag"

GitOrigin-RevId: 3a5b5603718da2fddabc9f1460151efd9cbf6178
2025-02-24 09:06:11 +00:00
Antoine Clausse
c31dffc605 [web] Show DS Navigation for all SAAS users regardless of feature flag (#23801)
* Remove `sidebar-navigation-ui-update` as true from analytics events

* Hide "ds-nav" survey for users who have the feature flag

* Replace `useIsDsNav()` by `isOverleaf`

* Rename former `hideDsSurvey` to `hideDsSurvey`, and set `hasDsNav = isOverleaf` variable

so the intent is clearer.

* Update frontend tests

GitOrigin-RevId: 2be9f88a10da430c0429de15d777d98104327f9f
2025-02-24 09:06:04 +00:00
Antoine Clausse
3976210485 Merge pull request #23798 from overleaf/revert-23767-ac-remove-ds-nav-code-small
Revert "[web] Show DS Navigation for all users regardless of feature flag "

GitOrigin-RevId: 569800d75e1ef3ed6af666325213f1615c8f3a43
2025-02-24 09:04:37 +00:00
Antoine Clausse
7b2f51aad5 [web] Show DS Navigation for all users regardless of feature flag (#23767)
* Remove uses of `useIsDsNav`

* Remove `sidebar-navigation-ui-update` as true from analytics events

* Hide "ds-nav" survey for users who have the feature flag

* `make cleanup_unused_locales` & `bin/run web npm run extract-translations`

* Update frontend tests

GitOrigin-RevId: 83f429d81ca1b46e9eab4fc667a921026a85912f
2025-02-21 09:05:48 +00:00
Antoine Clausse
34cac93f9a [web] When switching primary email, delete the old primary if it's unconfirmed (#23688)
* Add note to ConfirmModal: unconfirmed primary will be deleted

* Change confirm button copy

* Promisify `UserEmailsController.setDefault`

* Update tests after promisification

* Delete unconfirmed primary when swapped

* Fixup apostrophe in translation

* `npm run extract-translations`

* Add unit tests

* Add acceptance tests

* Fix frontend tests

* Make email address bold

* Add "We removed the previous primary..." to the email

GitOrigin-RevId: c971e219e36e509f9963e1720acdd44f562a05b5
2025-02-21 09:05:44 +00:00
Eric Mc Sween
483c97a484 Merge pull request #23691 from overleaf/em-resolve-comments-permissions
Add resolveAllComments and resolveOwnComments permissions

GitOrigin-RevId: 1fca9391dc3ff6e890532054582c49f11731e987
2025-02-20 09:05:45 +00:00
Eric Mc Sween
4152d3d796 Merge pull request #23667 from overleaf/em-read-only-label-version
Prevent read-only users from labelling a version

GitOrigin-RevId: 472e70f3860553b131f20afe3dfd01aa00bd48fa
2025-02-19 09:05:26 +00:00
Liangjun Song
be33d0dd67 Merge pull request #23599 from overleaf/ii-flexible-group-licensing-vat
[web] Change "Sales tax" to "VAT"

GitOrigin-RevId: 549c6cea7bcb52d08d3b0967cf5fa446da901379
2025-02-14 09:04:03 +00:00
Liangjun Song
f3950e20a0 Merge pull request #23464 from overleaf/ii-flexible-group-licensing-missing-billing-details-2
[web] Missing billing info billing details link

GitOrigin-RevId: a77f5d637848cc9ba5efa0941052ab5e10be16e4
2025-02-10 09:05:20 +00:00
Liangjun Song
b941439461 Merge pull request #23395 from overleaf/ls-display-discount-in-cost-summary
Display discount information in cost summary

GitOrigin-RevId: 95ff56b21b15e55860968e8ce4519c897b85ebba
2025-02-07 09:05:36 +00:00
Liangjun Song
58660cc9f2 Merge pull request #23409 from overleaf/ls-translation-for-single-license-purchase-confirmation
Update translation for single license purchase confirmation

GitOrigin-RevId: 5503c8c838814e3a56be75483699d5d4502d0acc
2025-02-07 09:05:32 +00:00
Liangjun Song
d66c11e786 Merge pull request #23435 from overleaf/ii-flexible-group-licensing-add-seats-links
[web] Add seats links handling

GitOrigin-RevId: d53264277c24ec64b6ff7744b4d7e10a4234ac86
2025-02-07 09:05:24 +00:00
Alf Eaton
9854d37916 Minimise use of ide context provider (#23308)
GitOrigin-RevId: 468b8d4b33925bdb97bd46d2c4e7acb969f3d82b
2025-02-07 09:05:05 +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
ilkin-overleaf
16130b79db Merge pull request #23203 from overleaf/ii-flexible-group-licensing-no-billing-details
[web] FL handle subscriptions with missing billing info

GitOrigin-RevId: 34209299c039992a80da5739e086beb5d0ede7b0
2025-02-05 09:05:50 +00:00
Alf Eaton
c629355472 Only select content when opening a file if it matches the expected text (#23324)
GitOrigin-RevId: 8b180ab897bb9027743c37f2b7faf690b7177eb6
2025-02-05 09:05:23 +00:00