Commit Graph

4532 Commits

Author SHA1 Message Date
Andrew Rumble
448ec1a273 Remove celebrate mock
GitOrigin-RevId: 05dd09d1c4457bf1966d729296fd863ae4dc03aa
2025-10-30 09:07:00 +00:00
Andrew Rumble
19f1f6f702 Remove Joi and celebrate
GitOrigin-RevId: 12cf2e0266a2e57d674d13a2e6fe8368c980d2a1
2025-10-30 09:06:49 +00:00
MoxAmber
87d8e142cc 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
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
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
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
Andrew Rumble
0fdd87f345 Allow sandboxed-module for model mockery
GitOrigin-RevId: 79dfe75088b760968fdc1b6e5dce4278f44a0dae
2025-10-23 08:06:24 +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
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
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
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
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
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
Antoine Clausse
3a1f3af6a4 [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
Andrew Rumble
3d3be18f57 Features ESM conversion
GitOrigin-RevId: d659326723a90ac0789f4f7acc7f00aa9eaa63e2
2025-10-21 08:05:51 +00:00
Andrew Rumble
e909995ce0 Rename features files
GitOrigin-RevId: fc4ce037343b02d002fa07b7cdc283f2d7d4f89b
2025-10-21 08:05:47 +00:00
Domagoj Kriskovic
71457d74cb 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
6e9df02c16 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
046449d4bd 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
ad3e8bd65d [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
706971ef41 [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
d7e1ad5588 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
0f0608eff0 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
986a728569 Merge pull request #28895 from overleaf/as-promisify-clsiformatchecker
Promisify ClsiFormatChecker and tests

GitOrigin-RevId: 89196708b97ff936660cc50a0b31f549d9723c4b
2025-10-17 08:05:40 +00:00
Brian Gough
729e0f5ac9 move migrations to shared location (#28306)
* fix: correct typedef for Document in helpers.mjs

* add move-migrations codemod

* update migration paths to use shared migrations directory

* move migrations to shared location

* fix: update Dockerfile and docker-compose.ci.yml to include migrations directory

* feat: add migrations tool to workspaces in package.json

* [monorepo] Fix order of docker ignore rules

* [web] remove unused docker ignore file

* [monorepo] replace old references to migrations folder

* [server-ce] copy migrations from new place

* [migrations] Inline web scripts

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] move three web scripts over

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] add missing collection

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] remove lodash dependency

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] avoid mongodb-legacy dependency

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [monorepo] run migrations from tools/migrations

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] simplify migration for adding gitBridge feature to users

* [monorepo] run migrations from tests in all the services

* [migrations] add Jenkins pipeline for linting/formatting

* [monorepo] fixup running web migrations everywhere

* [monorepo] trigger Jenkins builds on changes to mongo migrations

* [migrations] add Jenkins pipeline for linting/formatting

* [monorepo] build scripts: update devDependencies before deps scanning

* [monorepo] build scripts: formerly depend on tools/migrations

* [monorepo] run eslint on .mjs files

* [migrations] enable more eslint rules and fix all the errors

* [rake] fix migrations:list task

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 14cf69cc1b9405bbc75adbb9a000e555500e0614
2025-10-16 08:07:37 +00:00
Jakob Ackermann
fbea855690 [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
ac758f36ab 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
d5296783a4 Convert to ESM
GitOrigin-RevId: bc407a128b024792a65b62c2eaeacefa48ecfe8d
2025-10-16 08:06:56 +00:00
Andrew Rumble
7987c18350 Rename files
GitOrigin-RevId: 73ecf16aa08d0677661249f09d7be15214d15982
2025-10-16 08:06:51 +00:00
Antoine Clausse
8c15af1a70 [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
60fe5b2e4a 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
Mathias Jakobsen
f694da4443 Merge pull request #28978 from overleaf/mj-visual-editor-broken-image
[web] Add image loading fallback screen to visual editor

GitOrigin-RevId: 205c6355011802672e57123bb2a61cb708242e31
2025-10-15 08:06:32 +00:00
Liangjun Song
e3a24037fb 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
David
584572bb40 Merge pull request #28760 from overleaf/dp-hackathon-knip
Add Knip and remove a bunch of unused code

GitOrigin-RevId: 42ab99fc65973c883d2361e0027e7181767e714e
2025-10-15 08:05:57 +00:00
Jakob Ackermann
d7623b576f [monorepo] refactor retries in Jenkins to step level (#29008)
* [monorepo] refactor retries in Jenkins to step level

Change the junit reports to use step specific file names. The [hash]
template option was neat in getting unique file names, but results in
duplicate test reports on retry.

* [patches] add support for .cjs config files for mocha-multi-reporters

GitOrigin-RevId: 3a749441470b5ba633e71319589606cfbe860952
2025-10-13 08:06:37 +00:00
roo hutton
85f39b75f4 Merge pull request #28799 from overleaf/rh-promisify-email-confirmation
Promisify UserEmailsConfirmationHandler

GitOrigin-RevId: 844d478818a374a498ff24cdabb87659b5bc75aa
2025-10-13 08:05:46 +00:00
Maria Florencia Besteiro Gonzalez
81ababb7aa 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
Liangjun Song
2153fd7fa5 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
Andrew Rumble
3211c7c37a Make test admin users engineers
GitOrigin-RevId: 627b5b05eefdfa675937764b7c798e99ab6ef37e
2025-10-09 08:07:48 +00:00
ilkin-overleaf
c0a836082c Merge pull request #28865 from overleaf/ii-domain-capture-join-success-message-edit
[web] Domain capture join group message edit

GitOrigin-RevId: 8949dff2e1d95dd978ee5e04165ad4cefe51b088
2025-10-09 08:07:26 +00:00
ilkin-overleaf
22b38d02b0 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
3913008e02 [web] convert GeoIpLookup to async/await (#28802)
GitOrigin-RevId: 38ad8af970a0674a514bf5ed0dacb8becd7c1f72
2025-10-09 08:06:00 +00:00
Mathias Jakobsen
f9d0f7e3ee Merge pull request #28893 from overleaf/mj-linter-brace-check
[web] Allow braces in documentclass options

GitOrigin-RevId: 9675d3fc760a3b7d402c5a9df57a0cf183a1e648
2025-10-09 08:05:31 +00:00
Antoine Clausse
33e63d79fc 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