Commit Graph

8495 Commits

Author SHA1 Message Date
Andrew Rumble
c5ca824d86 Convert to ESM
GitOrigin-RevId: 572dafeaddea99be28ec1e1116e49aaf203be340
2025-10-23 08:06:20 +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
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
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
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
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
Antoine Clausse
52d29a283f [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
Antoine Clausse
71a267e104 [web] Migrate some User and UserMembership files to ESM (#29181)
* Rename files to mjs

* Migrate files to ESM

* Fix imports

* Misc. fixes: Fixup InsititutionsAPI import, ObjectId import, ...

* Rename test files to mjs

* Convert test files to ESM

* Fix tests

* Update UserMembershipErrors imports

* Convert some tests: sinon -> vitest

* Fixup UserMembershipHandler.test.mjs

* Convert UserMembershipErrors to ESM

GitOrigin-RevId: 05d34c7e112a567f9c59398740ae0830ef93d32f
2025-10-21 08:06:30 +00:00
Jakob Ackermann
37fff74a62 [web] pre-populate clsi-cache ahead of showing survey (#29221)
* [web] pre-populate clsi-cache ahead of showing survey

* [web] tweak variant checks

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>

---------

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: 749a7a1c3b21ef2e46bc86a74631e004069c5806
2025-10-21 08:06:25 +00:00
Andrew Rumble
7f4a331e61 Features ESM conversion
GitOrigin-RevId: d659326723a90ac0789f4f7acc7f00aa9eaa63e2
2025-10-21 08:05:51 +00:00
Andrew Rumble
ce868bbb2d Rename features files
GitOrigin-RevId: fc4ce037343b02d002fa07b7cdc283f2d7d4f89b
2025-10-21 08:05:47 +00:00
Domagoj Kriskovic
a446c3f588 Add notifications web module (#28983)
* Add notifications web module

* implement getThreadMessage in chat

* Save comment mention notification

* check if recipient is a real user

* move commentMentionDelay

* use module-hooks types

* remove router

* updated collection name

GitOrigin-RevId: cf8240c88aac7d7e4de4bf51cfe2608b6b7e7918
2025-10-20 08:05:20 +00:00
Jessica Lawshe
e9ee7214bd Merge pull request #28744 from overleaf/jel-domain-capture-joined
[web] Success message after user is created via domain capture and group is managed

GitOrigin-RevId: 0615cf0e06af5f3851f2c6de30d870a3adace286
2025-10-17 08:06:20 +00:00
Jessica Lawshe
4d26c95781 Merge pull request #28710 from overleaf/jel-no-sso-notifications-when-domain-capture
[web] Do not show notification to link to Commons SSO when domain is also for group with domain capture

GitOrigin-RevId: 6779e2db02d5d9cc4e7a60789a620403a4e4aa11
2025-10-17 08:06:15 +00:00
Jakob Ackermann
1cd4b7b761 [web] fix clearing of clsi persistence during migration to new key (#29172)
GitOrigin-RevId: 1d9e6eb87f8f27792fdc866e7dcc29b47e1b2547
2025-10-17 08:06:06 +00:00
Jakob Ackermann
f0dc6b3274 [web] shard compile server persistence by compileBackendClass (#29156)
* [web] shard compile server persistence by compileBackendClass

* [web] make prettier happy

GitOrigin-RevId: d7cf8bde07e7110053d9d7531c007111af5cc46b
2025-10-17 08:06:02 +00:00
Antoine Clausse
a6438f03d6 Merge pull request #28981 from overleaf/ac-some-web-esm-migration-6
[web] Convert some Features/User files to ES modules

GitOrigin-RevId: c0d487082fa4822c68130e1e98c043297d4bedeb
2025-10-17 08:05:53 +00:00
MoxAmber
8f54468566 Merge pull request #29034 from overleaf/as-groups-enterprise-banner
[web] Persist whether user has dismissed Groups and Enterprise banner on server-side

GitOrigin-RevId: a95060cc0fa772652299802ec467be61b09f5a1f
2025-10-17 08:05:48 +00:00
MoxAmber
bafb7ec56d Merge pull request #28895 from overleaf/as-promisify-clsiformatchecker
Promisify ClsiFormatChecker and tests

GitOrigin-RevId: 89196708b97ff936660cc50a0b31f549d9723c4b
2025-10-17 08:05:40 +00:00
Jakob Ackermann
3a0a9799dc [web] switch dark compiles to n4 (#29133)
* [clsi-perf] run compiles on any backend with prefix clsi_compile

* [clsi-lb] add n4 backend

* [terraform] clsi: add n4 instances

* [web] switch dark compiles to n4

* [terraform] clsi: remove c4d instances

* [terraform] clsi: scale up n4 instances

GitOrigin-RevId: 8f2d98ef6c3c503366c92c4f148a8dd7394cebd2
2025-10-16 08:07:21 +00:00
Davinder Singh
d56de64811 Add user language segmentation to the home-page-view event (#28910)
* adding server side events language accept information for the events and domain in event segmentation

* only sending the first language

* adding fixes for tests

* adding domain for plans-page-view and paywall-plans-page-view

* adding domain for gallery-page-view

* adding it for payment-page-view

* rename variable

* removing language from login-page-view

* adding a fallback value

* removing domain from test

* removing extra comment

* adding test host

* removing extra console added by mistake

* format:fix

GitOrigin-RevId: d1a1a30e4635abdc2b93f88de14a1d8937f974c8
2025-10-16 08:07:08 +00:00
Andrew Rumble
9c557a0e78 Convert to ESM
GitOrigin-RevId: bc407a128b024792a65b62c2eaeacefa48ecfe8d
2025-10-16 08:06:56 +00:00
Andrew Rumble
fb2d86ebd4 Rename files
GitOrigin-RevId: 73ecf16aa08d0677661249f09d7be15214d15982
2025-10-16 08:06:51 +00:00
Antoine Clausse
31855748fa [web] Check adminPrivilegeAvailable to show "Project URL lookup" (#29020)
* Check `adminPrivilegeAvailable` to show "Project URL lookup"

This is the correct check as it's what used to decide if the AdminPanelRouter should be included:
ffa200d595/services/web/modules/admin-panel/index.mjs (L14-L15)

* Add "it displays expected admin menu items" to e2e tests

* Don't expect "Project URL lookup" in CE

* Revert "Don't expect "Project URL lookup" in CE"

This reverts commit 467cccbf6c0d538c386d459403c521e3f62cfee2.

* Make "Project URL Lookup" capitalization consistent

GitOrigin-RevId: ed5c219e9b5912a4c324cf9dce58061b58d911b0
2025-10-15 08:07:21 +00:00
Antoine Clausse
dd11adfdc3 [web] Fix FileTreeModalCreateFile modal style on "too many files" error (#28995)
* Temporarily update `maxEntitiesPerProject` to test `FileTreeModalCreateFile`

* Remove unused CSS

* Move project_has_too_many_files Notification to the modal body

* Turn project_approaching_file_limit message into a Notification

* Update project_has_too_many_files translation with `fileCount.limit`

* Update other project_has_too_many_files with limit parameter

* Add translations for project_has_too_many_files_limit

* Revert "Temporarily update `maxEntitiesPerProject` to test `FileTreeModalCreateFile`"

This reverts commit 704996aa96c9ba592c7e44d165def0b97d30bed1.

* Fix unit tests

* Move the warning notification to the modal's body

---------

Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 0f54db7021e4cd4537a14e4f9e1d8ef54337778c
2025-10-15 08:07:16 +00:00
Olzhas Askar
03ea7edcfd Merge pull request #29043 from overleaf/oa-odc-to-cio
[web] Send onboarding data to Customer IO

GitOrigin-RevId: b45d1b66d36c3bba36e9c777fb66699c6bb56d33
2025-10-15 08:06:53 +00:00
Liangjun Song
c9175327fb Merge pull request #29036 from overleaf/ls-enable-individual-to-group-upgrade-in-production
Enable individual to group plan upgrade

GitOrigin-RevId: 3413c012bee320e4a4a61f829aaeff55e6116702
2025-10-15 08:06:23 +00:00
Liangjun Song
f49ffc2b4b Merge pull request #29045 from overleaf/kh-gracefully-handle-idempotency-errors
[web] fix idemopotency error by delaying backup measure

GitOrigin-RevId: 0a9a62f2a0c559257247d1b720a8668fdb09f6a1
2025-10-15 08:06:15 +00:00
Maria Florencia Besteiro Gonzalez
80c513d715 Merge pull request #29029 from overleaf/bg-td-mfb-increase-in-nocdn-metrics
Added more bots to no cdn check

GitOrigin-RevId: 53da4aad749494296df02a9026e2ba294bbba6e1
2025-10-14 08:06:08 +00:00
roo hutton
d6076a0b32 Merge pull request #29018 from overleaf/rh-cio-timestamp-fix
Use unix timestamps in customer.io

GitOrigin-RevId: 5301095172679712f2bf4e12632b67bd90a33008
2025-10-14 08:06:04 +00:00
Kristina
f7418a69d7 [web] fix Stripe concurrent idempotency error (#29007)
GitOrigin-RevId: 458f712452241771dff99977e638a3f4d2c113fa
2025-10-14 08:05:38 +00:00
Liangjun Song
fb1831e5ee Fix tax exempt email template (#28964)
GitOrigin-RevId: 8171c12f0255079c6b4e47238d7f436babb59bca
2025-10-14 08:05:26 +00:00
roo hutton
ee46ddb41e Merge pull request #28828 from overleaf/rh-promisify-token-generator
Convert TokenGenerator to async/await

GitOrigin-RevId: ceda009ea90eba1f19fd1242ac057d12f1fa2735
2025-10-13 08:05:50 +00:00
roo hutton
75887b9326 Merge pull request #28799 from overleaf/rh-promisify-email-confirmation
Promisify UserEmailsConfirmationHandler

GitOrigin-RevId: 844d478818a374a498ff24cdabb87659b5bc75aa
2025-10-13 08:05:46 +00:00
Brian Gough
8578091794 Merge pull request #28946 from overleaf/bg-set-health-check-flag-on-compile-status-requests
set health-check flag on compile status requests

GitOrigin-RevId: 56decc98aecf7fa5e12f99efc39ef38915ceebe2
2025-10-10 08:06:28 +00:00
Maria Florencia Besteiro Gonzalez
2bd9ffbd6d Merge pull request #28850 from overleaf/mfb-promisify-user-membership-view-model
Promisify UserMembershipViewModel.js

GitOrigin-RevId: d06b44ca7df65886f420332a1f9fc3d5f9c989af
2025-10-10 08:06:15 +00:00
Antoine Clausse
e29de2b881 [v1, web] 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 (#28913)
⚠️ Deploy this to `web` first so the breaking change is handled correctly

See https://github.com/overleaf/internal/pull/28792

GitOrigin-RevId: 3cc0344643557541791571dac7338bf878328095
2025-10-10 08:06:07 +00:00
Antoine Clausse
f28951e203 [web] Hide the "Project URL lookup" menu item for admins without view-project-setting (#28952)
the destination of that link (https://admin.stag-overleaf.com/admin/project) is blocked correctly already

GitOrigin-RevId: e94978d9fe77b3da3a5dab1dd2998beca6e26102
2025-10-10 08:06:02 +00:00
Andrew Rumble
bbfeb5bec3 Use promises version of getUsersByHostname
GitOrigin-RevId: c7b8be79436075a817e5f1429dbe41d824133141
2025-10-10 08:05:53 +00:00
Liangjun Song
b875d71fd2 Merge pull request #28898 from overleaf/ls-send-email-for-tax-exempt-certificate
Send email if tax exempt certificate is required

GitOrigin-RevId: 685fec7dbb129eab19095470e681d09423558e4c
2025-10-10 08:05:22 +00:00
Liangjun Song
531904df8c Merge pull request #28851 from overleaf/ls-collect-business-details-in-stripe-elements
Collect business details in Stripe Elements

GitOrigin-RevId: 5a3affd1916b2ba659e007a7c25f64879899fd1a
2025-10-09 08:08:28 +00:00
ilkin-overleaf
8ce052e55b Merge pull request #28833 from overleaf/ii-await-project-helper
[web] Promisify ProjectHelper

GitOrigin-RevId: a31457228c335ba1d70acdfa4671effce30c8014
2025-10-09 08:07:22 +00:00
ilkin-overleaf
4e565f37b7 Merge pull request #28808 from overleaf/ii-await-user-handler
[web] Promisify UserHandler

GitOrigin-RevId: 2daa6f74ec566851d208bf1b3d12d89ecf183383
2025-10-09 08:07:17 +00:00
Jakob Ackermann
3a27b707a1 [web] convert GeoIpLookup to async/await (#28802)
GitOrigin-RevId: 38ad8af970a0674a514bf5ed0dacb8becd7c1f72
2025-10-09 08:06:00 +00:00
Antoine Clausse
a2d9c8f813 Merge pull request #28584 from overleaf/ac-some-web-esm-migration-5
[web] Convert some Features files to ES modules (part 5)

GitOrigin-RevId: 0cad67f9afe0095e2b066bf2f4d3717c00540dab
2025-10-08 08:06:15 +00:00
Simon Gardner
d0d71b199a Improve helpfulness of sso error messages
GitOrigin-RevId: 4459603cb1a84c21143e47eb817f9455aa9015e9
2025-10-08 08:05:50 +00:00
David
8903cfa74d Merge pull request #28800 from overleaf/dp-promisify-user-getter
Promisify UserGetter and UserGetterTests

GitOrigin-RevId: 4a2613e632e6306751d19cb7160ee1f6c5c9e2f4
2025-10-08 08:05:41 +00:00
David
d090cf8a37 Merge pull request #28801 from overleaf/dp-promisify-login-rate-limiter
Promisify LoginRateLimiter

GitOrigin-RevId: e7247258147635019fe229a6bc6aab3a6cc64f75
2025-10-08 08:05:36 +00:00