Commit Graph

26674 Commits

Author SHA1 Message Date
roo hutton
d0ba35ab8f 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
c2e0c40808 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
698a6013de [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
cb0cfcfd82 Add languages and further functionality to Translate (#29342)
GitOrigin-RevId: 5e575c2aa51490071bfbd7498fd81b4e30ffa77f
2025-10-30 09:06:05 +00:00
David
38edeca871 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
fea346f4a6 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
dd1f55e0dd 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
18fc51bfa4 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
e82413ec72 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
d056ee5b74 [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
d3def551ae [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
05a50710bd [web] display Stripe invoice line items on preview change page (#29280)
GitOrigin-RevId: 267586a33f19f6931e2eb76b33fdf569aa07b4d3
2025-10-29 09:05:54 +00:00
Gernot Schulz
8441937806 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
0e04cdda8e Fix translation from "Change email" to "Change role and department" (#29341)
GitOrigin-RevId: c99415d30f7ff65e54f0823d98607a1a757e6c94
2025-10-29 09:05:39 +00:00
Jakob Ackermann
28c1c7db37 [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
1b4719d523 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
62a401c98d [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
d95815e0c1 Migrate UserSessionsManager and associated tests to async/await
GitOrigin-RevId: 8b5f3a296798930aa1168738cd3a4c666c7a3028
2025-10-28 09:05:42 +00:00
Brian Gough
cc7f0c1b9b 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
43c0ba828d 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
61d823f946 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
618f79d4cf removing the sentence and related functions and translation (#29269)
GitOrigin-RevId: 0969d0eb1ec1da0e15f606bb3bdcf86908fa45f7
2025-10-28 09:05:06 +00:00
Mathias Jakobsen
f6bc89691c 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
8767bcd891 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
43a80ef8a5 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
45ad16445f [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
f3f6a8a8e0 [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
d0d360c1bd [web] Tear down client-side-references feature flag (#29088)
GitOrigin-RevId: 635d6054ed1ed131bbc456bab203408fd4293e6d
2025-10-24 08:05:34 +00:00
Miguel Serrano
7f4d947b56 [git-bridge] Updated envsubst builder (#29286)
GitOrigin-RevId: 8da435aea673f6e73666f0fb7dfd8522312e5f48
2025-10-24 08:05:26 +00:00
Andrew Rumble
0fdd87f345 Allow sandboxed-module for model mockery
GitOrigin-RevId: 79dfe75088b760968fdc1b6e5dce4278f44a0dae
2025-10-23 08:06:24 +00:00
Andrew Rumble
7bda755d0e Convert to ESM
GitOrigin-RevId: 572dafeaddea99be28ec1e1116e49aaf203be340
2025-10-23 08:06:20 +00:00
Andrew Rumble
b7c883ac38 Convert tests to ESM
GitOrigin-RevId: 20585e01dee90e691476a0d47fd5c63b0412e4a6
2025-10-23 08:06:15 +00:00
Andrew Rumble
f02f6475ac Update paths
GitOrigin-RevId: a9474c8f36e8b287de4dd8fda29bc082001444ac
2025-10-23 08:06:10 +00:00
Andrew Rumble
0d73904c4b Rename files
GitOrigin-RevId: 7e8fde9258e71ab3649d1d83addeb5164d8b4251
2025-10-23 08:06:05 +00:00
Miguel Serrano
94b08e2ab7 [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
66651d121b 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
43e96ad863 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
02391c6c51 [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
a0ad073785 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
2413a93c5e [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
1c01d6048a [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
551428ee37 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
d5173cd098 [web] Upgrade fuse.js (#29174)
GitOrigin-RevId: b945829ac259827bbcb5877e0bc6c453d9dfd7e8
2025-10-22 08:06:16 +00:00
ilkin-overleaf
a33d799ee4 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
1720ef19f4 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
16db851978 [web] use the correct Stripe payment confirmation function for upgrades (#29151)
GitOrigin-RevId: d7447d180f1c0320989d7f86bb1d46173e235e46
2025-10-22 08:05:46 +00:00
David
129ea72d36 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
f3036e5979 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
Borja
0409b27311 Writefull to BigQuery new events and clean up (#29191)
GitOrigin-RevId: dc01a585f451513dcb1eb37ce6e5fdf906eb7ef6
2025-10-21 08:06:43 +00:00
Antoine Clausse
677b68a6b7 [web] Promisify UserMembershipController (#29189)
* Promisify UserMembershipController

* Remove nested promisification from UserMembershipHandler

* Move export to the bottom of the file

* Remove manual promises

GitOrigin-RevId: a72b9ee4973da7a04b1ffeb588bcae3db696602f
2025-10-21 08:06:34 +00:00