Commit Graph

26676 Commits

Author SHA1 Message Date
MoxAmber
e473010d46 Merge pull request #29332 from overleaf/as-sso-prevent-double-linking
[web] Prevent users from attempting to link to the same SSO institution twice

GitOrigin-RevId: 7e708eadc9f9aedc2007cb83f7f48df83561fa84
2025-10-30 09:06:42 +00:00
MoxAmber
a29864ef86 Merge pull request #29324 from overleaf/as-sso-ensure-email-confirmed
[web] Ensure email confirmedAt is always set for users created via Commons SSO

GitOrigin-RevId: c00ea58a0f9e2a1e93d7edc3836aa815d8ba16ac
2025-10-30 09:06:36 +00:00
roo hutton
91e64fa345 Merge pull request #29349 from overleaf/rh-compile-timeout-info-tracking
Add missing tracking to compile timeout info for default variant

GitOrigin-RevId: 4dfea0f55a1887b64e9c41d417c4a1cc0510453d
2025-10-30 09:06:22 +00:00
roo hutton
0a5d4db21d Merge pull request #29193 from overleaf/rh-stripe-addon-error
Redirect to plans page if trying to add add-on to non-existing subscription

GitOrigin-RevId: 65e0a88c32beca00d700292b14b2e7aa6e4dad20
2025-10-30 09:06:17 +00:00
Antoine Clausse
5789fca098 [web] Create an initial implementation for the CIAM page layout (#29373)
* Add a Storybook Layout page compiling all the "small pages" layouts

* Add a CIAM page layout to Storybook and create an initial Layout

* Use rem in font mixins

* Add a `--ciam-` prefix to the new CSS variables

* Fix linting

GitOrigin-RevId: 7a89fd1531c87597a918a9170d174cce556d77c4
2025-10-30 09:06:10 +00:00
Borja
7395e2776d Add languages and further functionality to Translate (#29342)
GitOrigin-RevId: 5e575c2aa51490071bfbd7498fd81b4e30ffa77f
2025-10-30 09:06:05 +00:00
David
d3bffabbf9 Merge pull request #29292 from overleaf/dp-dashboard-theme-toggle
Add theme toggle to project dashboard

GitOrigin-RevId: 4c76bcc36f77d7fd883798f8ccfcb5d1cf1a54b0
2025-10-30 09:05:56 +00:00
David
5cd89fad75 Merge pull request #27930 from overleaf/mj-dropdown-dark-mode
[web] Add dark mode for dropdowns

GitOrigin-RevId: 8fcce98101fc32fa1abbc0fbcd1615a8bc0898e4
2025-10-30 09:05:51 +00:00
David
e77611253e Merge pull request #29215 from overleaf/dp-rail-tab-storage
Store selected rail tab on a per-project basis

GitOrigin-RevId: 4770b047bb02c2b63dcf8bc0808bdd675d38c7a2
2025-10-30 09:05:46 +00:00
Miguel Serrano
02605006c8 Merge pull request #29361 from overleaf/msm-hotfix-5-5-6
[CE/SP] Hotfix 5.5.6

GitOrigin-RevId: f5390576b4ea0c9d7e5a2c145130b3f01a8bc431
2025-10-29 09:06:22 +00:00
Maria Florencia Besteiro Gonzalez
eac9d75d70 Merge pull request #29312 from overleaf/mfb-upgrade-nodemailer-through-mailtrap-in-saas-e2e
Change mailtrap version. Nodemailer was deleted from saas-e2e service

GitOrigin-RevId: 54e6b280309075e2b1bbc91d34da2c3d8b2d6534
2025-10-29 09:06:13 +00:00
Jakob Ackermann
d5f0836b32 [web] enable compileFromClsiCache independent of clsi-cache-prompt (#29366)
The split test is active now and .active is only set in the dev-env.

GitOrigin-RevId: ed4a379e2144c2a08497eb0cf42ef16077f7ad27
2025-10-29 09:06:04 +00:00
Kristina
65383bafb4 [web] improve messaging when upgrading from standalone add-on to premium plan + add-on (#29330)
* update userCanStartTrial to consider standalone add-ons
* display correct disabled message on hover
* display error message on preview plan purchase page

GitOrigin-RevId: 57c4e4267c1fd0ea892df8c0f5443ad74847147c
2025-10-29 09:05:59 +00:00
Kristina
082667ef2f [web] display Stripe invoice line items on preview change page (#29280)
GitOrigin-RevId: 267586a33f19f6931e2eb76b33fdf569aa07b4d3
2025-10-29 09:05:54 +00:00
Gernot Schulz
4c21f2818b Merge pull request #29244 from overleaf/gs-jenkins-pr-build-tags
Tag images with branch head instead of merge commit

GitOrigin-RevId: f0324a48a8bd692f781c9bee4e42bf97788eb997
2025-10-29 09:05:48 +00:00
Rebeka Dekany
31bc68f0ef Fix translation from "Change email" to "Change role and department" (#29341)
GitOrigin-RevId: c99415d30f7ff65e54f0823d98607a1a757e6c94
2025-10-29 09:05:39 +00:00
Jakob Ackermann
bdb4e44d78 [clsi-cache] add circuit breaker to clsi-cache requests (#29339)
Stage timeouts:
- frontend waits 5s
- web/clsi waits 4s
- clsi-cache waits 3s
This should ensure that the frontend can receive a valid response after
any of the backend requests failed.

The circuit breaker will remain closed for TIMEOUT + jitter of 0-3 times
the TIMEOUT of the respective service. This should avoid the bulk of
traffic to fail and occasionally issue retries without hammering the
instances while down.

Also do not try the next backend when the abort signal has expired.

GitOrigin-RevId: d612125616a9e416beff2f4c6d7f30066b5b9d6d
2025-10-29 09:05:34 +00:00
Mathias Jakobsen
f19e982764 Merge pull request #29310 from overleaf/mj-references-url-config
[web] Remove references url from configuration

GitOrigin-RevId: fd671d0ac1ff9a8bb754ee3136dc29401ba2b186
2025-10-28 09:05:57 +00:00
Antoine Clausse
ca060ab146 [web] Fix flaky frontend test in UserNotifications -> Affiliation (#29315)
* Temporary: forcibly reproduce the loading state and test failure with a `setTimeout`

* Wait for the loading to be finished in the test

* Revert "Temporary: forcibly reproduce the loading state and test failure with a `setTimeout`"

This reverts commit fb0270cc0cacd49fcff74e186b50b55f822f7729.

* Let the test pass if the loading text is not found

* Replace `getByTest` to `findByText` so it awaits

GitOrigin-RevId: 6cee6e3a86b6a5f24d95c7e3e1fcef4c4efcc094
2025-10-28 09:05:46 +00:00
Simon Gardner
e3efc885e4 Migrate UserSessionsManager and associated tests to async/await
GitOrigin-RevId: 8b5f3a296798930aa1168738cd3a4c666c7a3028
2025-10-28 09:05:42 +00:00
Brian Gough
9e695c6ab9 Merge pull request #29321 from overleaf/bg-ignore-deleted-projects-in-history-backup
handle deleted projects in history-v1 backup worker

GitOrigin-RevId: f4392045074248137f15d082d922c18b1ef9232f
2025-10-28 09:05:34 +00:00
roo hutton
ffb951d792 Merge pull request #29289 from overleaf/rh-compile-timeout-remove-info
Support compile-timeout-remove-info split test in paywalls

GitOrigin-RevId: d557417ab0bd63fce82f4ffb5d66e8e1c9b0b039
2025-10-28 09:05:27 +00:00
Eric Mc Sween
126f58ad37 Merge pull request #29301 from overleaf/em-fast-png-copy-metrics
More precise metrics on fast PNG copy

GitOrigin-RevId: 8b3a65a8a70152f1743c45f701448dc97be7ffeb
2025-10-28 09:05:23 +00:00
Davinder Singh
00536d8454 removing the sentence and related functions and translation (#29269)
GitOrigin-RevId: 0969d0eb1ec1da0e15f606bb3bdcf86908fa45f7
2025-10-28 09:05:06 +00:00
Mathias Jakobsen
ebd8272b56 Merge pull request #29308 from overleaf/ae-sentry-image
Ignore blocked image from googletagmanager error report

GitOrigin-RevId: 0e386ca2c1cd0e59e4e4a686d2eeb40e32efcc80
2025-10-28 09:05:02 +00:00
Mathias Jakobsen
ee1c8c8f1f Merge pull request #29287 from overleaf/mj-recompile-button-key-warning
[web] Avoid react key warning for recompile button

GitOrigin-RevId: e7334ece38a1ae177244ba3afbaaec9190c967ee
2025-10-28 09:04:58 +00:00
Mathias Jakobsen
be5763170a Merge pull request #28945 from overleaf/mj-tear-down-server-side-referencing
[web] Tear down server side referencing

GitOrigin-RevId: 37feac39cc7bf219a2cbc463191163534434f267
2025-10-28 09:04:53 +00:00
Jakob Ackermann
e74da36942 [web] do not show clsi-cache prompts/survey in free projects (#29302)
GitOrigin-RevId: fe60952e14503884570d3e27fb274fbb7c6b6620
2025-10-24 08:05:46 +00:00
Jakob Ackermann
6eeb583d1c [web] add clsi-cache prompts (#29281)
* [web] add clsi-cache prompts

* [web] add new editor variant to segmentation

* [web] add tests for useNewEditorVariant

* [web] adjust start of using clsi-cache in split-test

GitOrigin-RevId: c9c5b1eff2ceefb65ef82516d9074cb971cb4c48
2025-10-24 08:05:42 +00:00
Mathias Jakobsen
f1b386ebec [web] Tear down client-side-references feature flag (#29088)
GitOrigin-RevId: 635d6054ed1ed131bbc456bab203408fd4293e6d
2025-10-24 08:05:34 +00:00
Miguel Serrano
8ecb2f182f [git-bridge] Updated envsubst builder (#29286)
GitOrigin-RevId: 8da435aea673f6e73666f0fb7dfd8522312e5f48
2025-10-24 08:05:26 +00:00
Andrew Rumble
7a3b71503f Allow sandboxed-module for model mockery
GitOrigin-RevId: 79dfe75088b760968fdc1b6e5dce4278f44a0dae
2025-10-23 08:06:24 +00:00
Andrew Rumble
c5ca824d86 Convert to ESM
GitOrigin-RevId: 572dafeaddea99be28ec1e1116e49aaf203be340
2025-10-23 08:06:20 +00:00
Andrew Rumble
339a7b91ed Convert tests to ESM
GitOrigin-RevId: 20585e01dee90e691476a0d47fd5c63b0412e4a6
2025-10-23 08:06:15 +00:00
Andrew Rumble
b0a80a2f3c Update paths
GitOrigin-RevId: a9474c8f36e8b287de4dd8fda29bc082001444ac
2025-10-23 08:06:10 +00:00
Andrew Rumble
817e603a98 Rename files
GitOrigin-RevId: 7e8fde9258e71ab3649d1d83addeb5164d8b4251
2025-10-23 08:06:05 +00:00
Miguel Serrano
0acb4428fa [web] Add Group Audit Logs survey link (#29218)
* [web] Add Group Audit Logs survey link

GitOrigin-RevId: 8b6b2d813793245870fe30ab18785a44e2d6401b
2025-10-23 08:05:57 +00:00
Miguel Serrano
5038405f2e Merge pull request #29219 from overleaf/msm-tear-down-audit-logs-split-test
[web] Tear down group audit logs rollout split test

GitOrigin-RevId: 3874a16b41184db085c37c9556821ad9d6bea698
2025-10-23 08:05:52 +00:00
David
b469fc6aea Merge pull request #29253 from overleaf/dp-settings-modal-test-improvements
Improvements to settings modal frontend tests

GitOrigin-RevId: cbf30df51aa4b290580340507ba591e863a4f83b
2025-10-23 08:05:48 +00:00
Jakob Ackermann
c560f7ffde [clsi] prepare for clsi-cache survey (#29274)
* [clsi] add stats and timings to compile response from clsi-cache

* [clsi] set downloadedFromCache when previously downloaded for synctex

Assumption: every compile will emit an output.log. When the output.log
is missing, but the output.synctex.gz exists, it must have been
downloaded from the cache.
GitOrigin-RevId: 41ea34880931e3c43dda3bc9eb26c0d02054894d
2025-10-23 08:05:43 +00:00
Miguel Serrano
13334eb45d Merge pull request #29265 from overleaf/msm-bump-dockerfilebase
[SP] Rebuild `Dockerfile-base`

GitOrigin-RevId: c7f320b3a842a5c72a8c81617e30f1c3deeddb8c
2025-10-23 08:05:34 +00:00
Antoine Clausse
99903543dd [web] Promisify NotificationsBuilder.js (#28792)
* Replace request by fetch

* Promisify `dropboxDuplicateProjectNames`

* Promisify `dropboxUnlinkedDueToLapsedReconfirmation`

* Promisify `featuresUpgradedByAffiliation`

* Promisify `redundantPersonalSubscription`

* Promisify `projectInvite`

* Promisify `ipMatcherAffiliation`

* Promisify `tpdsFileLimit`

* Promisify `groupInvitation`

* Promisify `personalAndGroupSubscriptions`

* Sanitize URL

* Add default fetch timeout

* Update tests

* Update tests with fetch-utils

* Update external usage

* Import `ObjectId` from `mongodb-legacy`

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>

* Add `toString()` to userId in `ipMatcherAffiliation` calls

* [v1] Return "200 null" instead of no content in `v2/api/v2/users/:userId/ip_matcher` when there is no data, so it can be read as JSON in the frontend

Can't be 204 because of lint: "Do not specify body content for a response with a non-content status code"

* Temporarily remove `enrolment_ad_html` test to test notifications

* Revert "Temporarily remove `enrolment_ad_html` test to test notifications"

This reverts commit fb8b0c26a3adbbc64053cd3f5f2570ccc97328fb.

* Use `return await`

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

---------

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: 17ee861852aa4ac15d3b46b1b28c763fad5333d2
2025-10-23 08:05:30 +00:00
Antoine Clausse
205b4e54be [web] Create super_admin role (#29082)
* Add `delete-project` and `modify-admin` admin capabilities

* Add `isSuperAdmin` check

* Replace frontend checks

* Add requireAdminPermission middleware on disable2FA

* Remove `isSuperAdmin` tag

* Fix tests on admin capabilities

* Replace isSuperAdmin tests by tests in admin-roles

* Replace superadmin tests by admin-capabilities

* Update tests: server-pro admins are superadmins

* Remove "In Server Pro, all Admin users are also Super Admins"

* Update tests after revert "server-pro admins are superadmins"

* Create capability "delete-2fa"

* Add special privileges for admins in Server Pro to preserve the existing behaviour

* Reorder definitions to avoid future eslint error

* Add super_admins admin-role

* Add some sensible capabilityDependencies

* Fix inconsistency: super_admins -> super_admin

* In tests, await controller methods instead of using manual promises

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

---------

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: ca1fff3ead5b2001cb5d5d25de15970d55fb2c1b
2025-10-23 08:05:25 +00:00
roo hutton
48d9964cb6 Merge pull request #28013 from overleaf/rh-editor-hotjar
Support user limits on split test variants, add Hotjar editor support

GitOrigin-RevId: c5df831436c2b7d7e242cf4d3ff00899aba77886
2025-10-23 08:05:20 +00:00
Mathias Jakobsen
8016daa8f3 [web] Upgrade fuse.js (#29174)
GitOrigin-RevId: b945829ac259827bbcb5877e0bc6c453d9dfd7e8
2025-10-22 08:06:16 +00:00
ilkin-overleaf
5e7da4e3b0 Merge pull request #29002 from overleaf/ii-domain-capture-v1-field
[web] Make subscription.v1_id unique

GitOrigin-RevId: e65ea4b6bec54531cdc161ac02aee17d4a5cbdeb
2025-10-22 08:06:04 +00:00
David
41fefc3a2c Merge pull request #29113 from overleaf/dp-settings-modal-tests
Add frontend tests for new editor settings modal

GitOrigin-RevId: a7142b5b45e9484126d159445f2dddd7d3c86584
2025-10-22 08:05:51 +00:00
Kristina
857466d7cf [web] use the correct Stripe payment confirmation function for upgrades (#29151)
GitOrigin-RevId: d7447d180f1c0320989d7f86bb1d46173e235e46
2025-10-22 08:05:46 +00:00
David
6f1e8cea6d Merge pull request #29152 from overleaf/dp-dashboard-dark-mode
Add data-theme attribute to project list page

GitOrigin-RevId: 3a623e3258d55e01f0911bcc45b78bcdba21745b
2025-10-22 08:05:34 +00:00
David
7baf11da8b Merge pull request #29033 from overleaf/dp-histroy-current-version
Hide restore version option for current history version

GitOrigin-RevId: 1eecaced2d7423bf8e28ab97e27288691ab0b002
2025-10-22 08:05:28 +00:00