Commit Graph
100 Commits
Author SHA1 Message Date
Jakob AckermannandGernot Schulz f9c011473b [web] print mongo logs on acceptance/unit test failure (#28034)
* [web] print mongo logs on acceptance/unit test failure

* [web] turn on logging for mongo again

* [monorepo] improve printing of mongo logs

Co-authored-by: Gernot Schulz <gernot.schulz@overleaf.com>

* [monorepo] fix waiting for mongo startup

---------

Co-authored-by: Gernot Schulz <gernot.schulz@overleaf.com>
GitOrigin-RevId: 713ffacd1f80b134ef3cb84a8f281660ef54e5d6
2025-08-22 08:06:06 +00:00
Jakob Ackermann 2c9ce619dd [monorepo] document jenkins pipelines (#27954)
* [saas-e2e] reset database when db-migration files were removed

* [monorepo] document jenkins pipelines

* [monorepo] trim docs for jenkins pipelines

GitOrigin-RevId: 783ad94f05b36f4057e3ac6cc8b8c40f850e5d2f
2025-08-19 08:06:02 +00:00
Jakob Ackermann 56f41c77ff [history-v1] add migrations record after full binary file migration (#27932)
* [history-v1] add migrations record after full binary file migration

* [server-pro] add hotfix 5.5.5

* [server-ce] test: build hotfix 5.5.5 and use it in tests

GitOrigin-RevId: fb84e5710c59f466a3305de5f32f78e0ac9ce15d
2025-08-19 08:05:54 +00:00
Jakob Ackermann d697f00525 [web] reduce log noise in CI (#27961)
* [web] reduce noise from CollectPayPalPastDueInvoiceTest

* [web] reduce noise for frontend tests that use Range.getClientRects

* [web] avoid nesting <li> elements in ProjectToolsMoreDropdownButton

RenameProjectMenuItem/CopyProjectMenuItem will return <li> elements.

* [web] avoid clicking on links that navigate away in JSDom

* [web] add mock for location change in JSDom

* [web] add fallback stripe subscription data for test

3.8k lines of log noise!

GitOrigin-RevId: 7adab182487a6c07ac9809c60802e498a0edb0ec
2025-08-19 08:05:50 +00:00
Jakob Ackermann 443e7adb47 [server-ce] update link to CLA in PR template (#27943)
GitOrigin-RevId: d822884e4118c87a25b8476afef4be66ba078844
2025-08-18 08:06:12 +00:00
Jakob Ackermann 22e5899e30 [web] run sentry as current user to match up with the git-repo owner (#27964)
GitOrigin-RevId: a0736a6d7d8a24ec6a7b539526f52d3c2749c0bb
2025-08-18 08:06:08 +00:00
Jakob Ackermann d95be3dbfc [web] fix sentry upload (#27960)
GitOrigin-RevId: a151486769a18d1a17f427ea6d8613821db5ef14
2025-08-18 08:06:01 +00:00
Jakob Ackermann a2fc208833 [web] update Jenkins pipeline following rename of redis container (#27957)
GitOrigin-RevId: dee9a5e22d0de96b77a9e12f1826fab9856479a3
2025-08-18 08:05:57 +00:00
Jakob Ackermann f7970fea29 [web] fix sentry upload (#27956)
GitOrigin-RevId: e83670af74da82e385e312a62904eaeb9b7fbef8
2025-08-18 08:05:52 +00:00
Jakob Ackermann ea028442cd [web] tweaks for jenkins pipeline (#27952)
* [web] move sentry upload into a Makefile target

* [web] fix typos in jenkins pipeline

* [web] fix BRANCH_NAME for PR builds

This is currently "true". Just use PR-xxx for now.

* [web] remove explicit pull of main-deps for Jenkins

In Jenkins we do not need to wait for the cloud-builder image. The
docker build can start right away. Let docker validate the remote cache
and pull it if needed.

* [packer] jenkins-worker: prefetch sentry image

* [packer] jenkins-worker: switch to production AR

* [packer] jenkins-worker: wait for monorepo setup before pulling sentry

* [web] cloudbuild: fix directory for prefetch_sentry

GitOrigin-RevId: ec394bbf51efd516f0ade8813014dec9b63fb732
2025-08-18 08:05:44 +00:00
Jakob Ackermann 21f0490456 [server-ce] force cleanup of docker images (#27944)
GitOrigin-RevId: d515f191c660e382c16497544a6d13e434a3c9e2
2025-08-18 08:05:21 +00:00
Jakob Ackermann e9bbc113a0 [server-pro] trust local nginx proxy running inside Server Pro/CE (#27719)
GitOrigin-RevId: ed9bb136effb1602aa0239b107c116fd6385ebbc
2025-08-15 08:05:26 +00:00
Jakob Ackermann b6b6bf82bd [monorepo] try harder at timing out Jenkins builds (#27897)
GitOrigin-RevId: 9d9b675d4603da761b725ab0470ecc7af4141ef0
2025-08-14 08:06:49 +00:00
Jakob AckermannandAntoine Clausse df383265c3 [saas-e2e] adjust project name for new SpamSafe limits (#27875)
* [saas-e2e] adjust project name for new SpamSafe limits

* [saas-e2e] stay below 6 digits for spam safe project name

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 77c039312c01b33aeb3b57661ec6ca5b88a0a36b
2025-08-14 08:06:02 +00:00
Jakob Ackermann 99feb94d4b [monorepo] add workaround for flaky mongo db init (#27833)
* [monorepo] add workaround for flaky mongo db init

Upstream issue: https://github.com/docker-library/mongo/issues/730
Upstream PR: https://github.com/docker-library/mongo/pull/731

* [server-ce] revert entrypoint changes

* [monorepo] fix typo in path

* [server-ce] run E2E tests from internal monorepo in cloudbuild

* [monorepo] avoid repeated changes to mongo entrypoint

GitOrigin-RevId: 617db9caee1600c8a506a7a147723a306e57ded3
2025-08-14 08:05:58 +00:00
Jakob Ackermann cbe86818a7 [web] add config option for project/user hard deletion delay (#27725)
GitOrigin-RevId: db8030d6c8a3cdf8490edafcfa436cdbcd80fc28
2025-08-13 08:06:17 +00:00
Jakob Ackermann d055f01c00 [web] add config option for custom maintenance message (#27618)
GitOrigin-RevId: e01eebecce780af6e9e3f8b82321cb7776d414e2
2025-08-13 08:06:12 +00:00
Jakob Ackermann 898a0b534e [web] add missing cleanup targets (#27815)
GitOrigin-RevId: e06474d2e36958b365631a314900be84439b23fc
2025-08-12 08:07:06 +00:00
Jakob Ackermann 4ecfd97345 [web] disable watching of services/web/public/ in cypress (#27796)
GitOrigin-RevId: 8866bdf85bbe0480fb50e9a7b35a0c0f8928d06e
2025-08-12 08:07:02 +00:00
Jakob Ackermann 836e8b5144 [monorepo] extend cleanup in Jenkins VMs (#27793)
* [monorepo] extend docker compose cleanup

* [web] cleanup docker images

Only retain the branch builds for dependencies.

* [server-ce] jenkins: remove build specific image

Retain the branch image as cache.

* [monorepo] jenkins: prune untagged docker images and docker build cache

* [monorepo] jenkins: remove temporary files from monorepo

* [monorepo] jenkins: remove containers from sandboxed compiles

GitOrigin-RevId: c847015986a060c5c84c39cd06236fd73bbf6f3a
2025-08-12 08:06:27 +00:00
Jakob Ackermann ac9c20e8d2 [monorepo] tweaks for Jenkins/CI (#27761)
* [packer] jenkins-worker: install htop and lsof

* [web] trim tailing space in Jenkinsfile

* [web] cleanup after finishing Jenkins pipeline

* [server-ce] test: cleanup after finishing Jenkins pipeline

* [saas-e2e] add timeout to waiting for rail/web startup

* [monorepo] add 60s timeout for waiting on mongo to startup

* [saas-e2e] cleanup after finishing Jenkins pipeline

GitOrigin-RevId: 9954ab17b4db6a95c444e8e0b55cebb8d5daae59
2025-08-11 08:06:31 +00:00
Jakob Ackermann 215059f461 [web] add audit log for changing admin access in Server Pro via SSO (#27631)
* [web] add missing await statement in admin-panel tests

* [web] add audit log for changing admin access in Server Pro via SSO

GitOrigin-RevId: 69e994d0b2e0f0e0281ade80acbdf7fb30bd2e89
2025-08-06 08:04:53 +00:00
Jakob Ackermann 16daea27ad [server-ce] tests: optimize sharding (#27635)
* [server-ce] tests: optimize sharding

* [server-ce] tests: remove shard CE_CUSTOM_2

* [server-ce] tests: move project sharing tests onto a new shard

Previously they were on their own CE_CUSTOM_1 shard.

GitOrigin-RevId: de256e04f5956b4651a5dc4ab47cdb5972723c5d
2025-08-06 08:04:46 +00:00
Jakob Ackermann 6da84cdcf6 [server-ce] tests: debug failing mongo startup (#27634)
GitOrigin-RevId: 5b1c272a7e0059d448347d20999eef7ad368bfd5
2025-08-05 08:06:39 +00:00
Jakob Ackermann 48ff696a69 [monorepo] fail fast when parallel build steps fail in Jenkins (#27632)
GitOrigin-RevId: 6362139cc1cd72e00f3eb5900ba94c810c476d82
2025-08-05 08:06:34 +00:00
Jakob Ackermann 98e82e9f88 [server-ce] tests: add jenkins integration (#27600)
* [server-ce] remove unused CE_CUSTOM_3 shard

* [server-ce] tests: add jenkins integration

* [server-ce] tests: log failed host-admin requests in CI

* [server-ce] tests: attempt at reducing flakiness in Cloud Build

GitOrigin-RevId: 8d999efe1ccf041dca148bc8710dddb8561614ab
2025-08-05 08:05:55 +00:00
Jakob Ackermann 5d78fa458c [saas-e2e] add jenkins integration (#27587)
GitOrigin-RevId: a07b33b748964487a066d308577cad9debaa92b2
2025-08-05 08:05:50 +00:00
Jakob Ackermann 7b726fb1ac Merge pull request #27599 from overleaf/jpa-flaky-test
[server-ce] tests: work around overflow of OVERLEAF_APP_NAME

GitOrigin-RevId: da12b8874273319d2b624f10b257b123a3ea44cc
2025-08-05 08:05:29 +00:00
Jakob Ackermann 3e8fa183c9 Merge pull request #27522 from overleaf/jpa-reenable-tests
[server-ce] tests: enable disabled tests again

GitOrigin-RevId: 447b95bfc6b369f574a518ea46a264445efc5985
2025-08-04 08:05:13 +00:00
Jakob Ackermann eed93af1fd Merge pull request #27579 from overleaf/jpa-saas-e2e-split
[saas-e2e] prepare for running in Jenkins

GitOrigin-RevId: 4d87d8a548849c193c5263a3b4f01202876f43a3
2025-08-04 08:05:08 +00:00
Jakob Ackermann dc3207726e Merge pull request #27578 from overleaf/jpa-fix-saas-e2e
[saas-e2e] fix all the broken tests

GitOrigin-RevId: 38e16abc5e2c9392b0d9e585b6bef27a51c386f5
2025-08-04 08:05:04 +00:00
Jakob Ackermann b01459508c [packer] rework jenkins worker image (#27573)
- Use Makefile for coordinating all the independent tasks
- Pull down lots of other docker images, notably all the images for
  running Server Pro E2E tests
- Run copybara to populate it's caches
- Build Server CE and Server Pro images to populate npm caches
- Build all the monorepo images for SaaS E2E tests
- Restore the latest database backup into the CI local dev-env

GitOrigin-RevId: 821b036d1afaf2f00372dc6d0f82a51b4c3b7cc4
2025-08-04 08:04:59 +00:00
Jakob Ackermann dbb2deca5f [server-ce] tests: split prefetching (#27566)
GitOrigin-RevId: de0bfb0d3923749b8844a8812d0a45d71ae4fa0e
2025-08-01 08:07:01 +00:00
Jakob Ackermann 386897266d [web] remove jump-to-location event (#27490)
* [web] remove jump-to-location event

* [web] remove unused imports

GitOrigin-RevId: 2be9405b6c2d3d589184c7c913294b2cbe828250
2025-08-01 08:05:46 +00:00
Jakob Ackermann 092c8aaf32 [server-pro] add hotfix 5.5.4 (#27514)
GitOrigin-RevId: f992fce918d2617017fa5af5be3edd9e54a5919d
2025-07-31 08:05:33 +00:00
Jakob Ackermann 29045b9085 [web] download binary files in clsi from filestore via new endpoints (#27505)
* [history-v1] use String.padStart instead of lodash.padStart

* [web] download binary files in clsi from filestore via new endpoints

* [server-ce] tests: Cypress.env() is parsing boolean values

* [server-ce] tests: run history migration as root

GitOrigin-RevId: bdf6c0e542531ccc4b3f13d2ed68ca0d31e580e9
2025-07-31 08:05:28 +00:00
Jakob AckermannandBrian Gough 21da0253ce [server-ce] work around npm bug for uninstalling devDependencies (#27512)
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: da4c878ae4515672aa67ea77d2d54a08a149e49b
2025-07-31 08:05:23 +00:00
Jakob Ackermann 678d6809b9 [server-ce] run node scripts as www-data user (#27504)
GitOrigin-RevId: 2fbfe1ae33b42a5a9a696be811d122882093cd49
2025-07-31 08:05:15 +00:00
Jakob Ackermann 126e88a505 [server-pro] add missing commit into hotfix 5.5.3 (#27489)
GitOrigin-RevId: a2d337c16eaae96cd9a0d2d2adde922ce43b033f
2025-07-30 08:07:38 +00:00
Jakob Ackermann 1fd4445a34 [history-v1] extend --report with number of files to check/missing (#27397)
* [history-v1] put logs of back_fill_file_hash script in /var/log/overleaf

* [history-v1] do not leave tmp dir behind when using --report

* [history-v1] extend --report with number of files to check/missing

* [history-v1] move all the options into command line flags

Change default values:
- concurrency to 10
- concurrent batches to 1
- stream high water mark to 1MiB

* [web] find_malformed_filetrees: log progress on stderr

* [history-v1] fix percentage of projects that need back-filling

GitOrigin-RevId: ebd7889840f97b24eda43774ffe7524998fb634b
2025-07-30 08:07:12 +00:00
Jakob Ackermann 6a92acf542 Merge pull request #27476 from overleaf/jpa-transfer-all
[web] add script for transferring all of a users projects in Server Pro

GitOrigin-RevId: 3aad2b624e1da2af83fec0715c2e5e08eff43695
2025-07-30 08:06:51 +00:00
Jakob Ackermann 1abb98fac2 Merge pull request #27428 from overleaf/jel-passport-saml-5-patch
[web] Upgrade to passport-saml 5.1.0

GitOrigin-RevId: 6073047a92da55a61fd2d409775d401aba13bb7e
2025-07-28 08:05:25 +00:00
Jakob Ackermann 809ab571d8 Merge pull request #25479 from overleaf/msm-passport-saml-5
[web] Update `passport-saml` to `v5.0.1`

GitOrigin-RevId: 9e154d3f7ef78d37a151e863ce86bfc2f8d85956
2025-07-28 08:05:20 +00:00
Jakob Ackermann 65f1fe1c25 [monorepo] avoid root-owned folders (#27349)
* [server-pro] check_vulnerabilities.sh: move cache into $HOME/.cache

* [monorepo] move root-owned minio certs into docker volume

* [server-pro] check_vulnerabilities.sh: remove unused vars

* [filestore] fix image name for certs container when using sharding

GitOrigin-RevId: c6756e8f24ccc689c12d5f5be2b7f4eee7d9b989
2025-07-28 08:05:16 +00:00
Jakob Ackermann f764098bd6 [monorepo] ensure DOCKER_USER is set and used on all cypress containers (#27346)
* [monorepo] ensure DOCKER_USER is set and used on all cypress containers

* [server-ce] test: deduplicate cypress container config

GitOrigin-RevId: ca569a6c95574df7fb29c99577c18f22cdfb83d8
2025-07-25 08:04:53 +00:00
Jakob Ackermann a877979b11 [server-ce] test filestore migration with upgrade from version 1.x (#27342)
* [server-ce] test filestore migration with upgrade from version 1.x

* [server-ce] tests: drop verbose logs from host-admin in CI

* [server-ce] tests: fix flag following rebase

GitOrigin-RevId: dc00127fc76f87ee3eb5071fd430f4917e8123ff
2025-07-24 08:05:44 +00:00
0546fb7233 [third-party-datastore] improve error handling (#26881)
* [third-party-datastore] use generic serializer for dropboxError

The `err` serializer will not pick up all the dropbox fields.

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>

* [third-party-datastore] handle user_suspended like insufficient_space

Unlink dropbox and display a notification (same key to clear later).

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>

* [third-party-datastore] skip retries when rejected with disallowed_name

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>

* [web] sort translations

* [web] update copy for dropbox_unlinked_because_suspended

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>

---------

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>
Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>
GitOrigin-RevId: 8fbb9074d1d6eb879e904d79dd4b2a2c952ff902
2025-07-22 08:07:13 +00:00
Jakob Ackermann b1880ba64d [monorepo] upgrade tough-cookie in request to latest version (#27249)
GitOrigin-RevId: 9096e05d2c337c3d3a9b4ca6efec8fd40c51a622
2025-07-22 08:07:08 +00:00
Jakob AckermannandKamal Arkinstall 082121d3da [web] reject upload requests without a file path (#27156)
* [web] reject upload requests without a file path

* [web] update copy on error message and link to contact form

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>

* [web] update copy: move dot to the end

---------

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>
GitOrigin-RevId: ba1ee81a91b046540caeb2f3f3da0e305611b35f
2025-07-22 08:07:03 +00:00
Jakob AckermannandBrian Gough 81f0807fc6 [web] prepare filestore migration for Server Pro/CE (#27230)
* [web] prepare filestore migration for Server Pro/CE

* [history-v1] remove unused USER_FILES_BUCKET_NAME env var from script

* [server-ce] tests: write default docker-compose.override.yml on startup

* [server-ce] tests: extend access logging of host-admin for response

* [server-ce] tests: test text and binary file upload

* [server-ce] tests: add tests for filestore migration

* [web] simplify feature gate for filestore/project-history-blobs logic

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

* [server-ce] test: fix flaky test helper

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: f89bdab2749e2b7a49d609e2eac6bf621c727966
2025-07-22 08:06:58 +00:00
Jakob AckermannandBrian Gough bf43d4f709 [history-v1] make back_fill_file_hash_fix_up compatible with Server Pro (#27280)
* [history-v1] move MockFilestore into shared place

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

* [history-v1] make back_fill_file_hash_fix_up compatible with Server Pro

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 70ea57e1503031d9f14dcd60c4c110e746450587
2025-07-22 08:06:41 +00:00
Jakob Ackermann 48df8c9f38 [server-ce] reduce verbose output from cron jobs (#27240)
GitOrigin-RevId: 8a2eda551796e62af6fddf80a3ce8cf37ec309d4
2025-07-21 08:04:50 +00:00
Jakob Ackermann 9720413218 [web] add support for pug caching when running E2E tests in dev-env (#27073)
GitOrigin-RevId: bbb53723bd1bc22db5b3d440539f1624a905341f
2025-07-16 08:06:07 +00:00
Jakob Ackermann 8c39add865 [clsi-cache] meter ingress and egress bandwidth (#27143)
* [mics] fix "app" label in clsi-cache metrics in dev-env

* [clsi-cache] validate filePath when processing file

* [clsi-cache] meter ingress and egress bandwidth

Files are downloaded directly from nginx, hence we cannot meter egress
in clsi-cache easily.

GitOrigin-RevId: 24de8c41728f0e9c984113c1470dec6153e75f20
2025-07-16 08:05:59 +00:00
0f1d672a57 [server-ce] update copy/logo in README (#27104)
* [server-ce] add warning on not using sandboxed compiles

Co-authored-by: Mathew Evans <matt.evans@overleaf.com>

* [server-ce] update logo

Co-authored-by: Jamie Liu <jamie.liu@overleaf.com>

---------

Co-authored-by: Mathew Evans <matt.evans@overleaf.com>
Co-authored-by: Jamie Liu <jamie.liu@overleaf.com>
GitOrigin-RevId: 9fafa951af9918924eae5493dbe8f9aa3dfc87b2
2025-07-15 08:06:09 +00:00
Jakob AckermannandBrian Gough 2e2415c56e [server-pro] move revision from /var/www/revisions.txt into label (#27071)
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: d760498b50006a23f446a91647954d00fa22f2f2
2025-07-15 08:05:57 +00:00
Jakob Ackermann 95b5c1f659 [terraform] clsi: add C4D trial (#27033)
* [terraform] clsi: add C4D trial

* [terraform] clsi: make SPOT instance setup idempotent

GitOrigin-RevId: 19d5cf0b1f3aaaa967a2b1e78eba77fc1887cc65
2025-07-11 08:05:36 +00:00
Jakob Ackermann 9fc0373fab [terraform] clsi: add C3D trial (#26929)
* [terraform] clsi: add C3D trial

* [terraform] clsi: switch C3D to standard variant with local SSD

GitOrigin-RevId: 6e6ceeb93ee94800d8ce46557322da82dc99fc2a
2025-07-09 08:06:10 +00:00
Jakob Ackermann d7a0cbefea [history-v1] fix typo in metrics name in redis chunk store (#26865)
GitOrigin-RevId: 5b37e3b22a3250fcfbd7411e635cc11ed38dcb27
2025-07-08 08:05:52 +00:00
Jakob Ackermann cf472f54d0 [history-v1] use POST requests for expiring redis buffer from cron (#26568)
* [history-v1] use POST requests for expiring redis buffer from cron

(cherry picked from commit 15780ac54e36b96e1aed9fd9eb6dfe9d4fbf842f)

* [history-v1] remove double claim of expire job

GitOrigin-RevId: 8b2eab07006a5819a47eed3f646b2a4d75f86e5b
2025-07-08 08:05:47 +00:00
Jakob AckermannandAlex Bourdin 7c92e0719c [web] small tweaks for display of deleted projects in admin panel (#26747)
* [web] display project expiry date and badge

Co-authored-by: Alex Bourdin <alex.bourdin@overleaf.com>

* [web] redirect admins to deleted project page

* Expiration badge tweaks

* [web] fix frontend tests

---------

Co-authored-by: Alex Bourdin <alex.bourdin@overleaf.com>
GitOrigin-RevId: 42dafb5e4e3e781c87fa26092ea9b3400f471bb8
2025-07-03 08:05:03 +00:00
Jakob Ackermann 67342e9c33 [terraform] clsi: add pre-emp C2D capacity in zone b (#26755)
GitOrigin-RevId: aa52dec1f7135f53f8c887199c1d1e4e31ef70ff
2025-07-03 08:04:53 +00:00
Jakob AckermannandBrian Gough 73ae6f480f [web] change status page URL to HTTPS everywhere (#26587)
* [web] change status page URL to HTTPS everywhere

Also open all links to the status page or admin email in a new tab.

* [server-ce] explicit protocol matching

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

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: d7d12eef4efc737c5d70fc969c862acae9faf14c
2025-06-26 08:04:59 +00:00
Jakob Ackermann 886bad1071 [web] remove runtime migration for fixing collaborator lists on projects (#26581)
GitOrigin-RevId: f6a4c142e010e168c79b59cb96dddb147093d4a0
2025-06-26 08:04:54 +00:00
Jakob Ackermann 87de73333a Merge pull request #26575 from overleaf/jpa-archived-state
[web] remove runtime migration for project.archived/trashed state

GitOrigin-RevId: 69064878f3dfdcde3727a4e3eb555deb75c70588
2025-06-26 08:04:50 +00:00
Jakob Ackermann 19980b41b8 [web] switch migrations for fixing dates to batchedUpdate (#26582)
* [web] switch migration for fixing confirmedAt dates to batchedUpdate

* [web] switch migration for fixing assignedAt dates to batchedUpdate

* [web] make eslint happy

GitOrigin-RevId: d898d28dc2aa1084e8d3af20b98f49e3fda8a1c6
2025-06-26 08:04:46 +00:00
Jakob Ackermann 1543f0a53e Merge pull request #26580 from overleaf/jpa-fix-null-array
[web] add migration for fixing collaborator arrays on projects

GitOrigin-RevId: 73178b56501025bf23f463e8f9822fc33ecaaea0
2025-06-26 08:04:42 +00:00
Jakob Ackermann 4310d3ec88 [docstore] add runtime fix for mismatching comment vs thread ids (#26488)
GitOrigin-RevId: e7cefa88d125a73a26863e6fae8b49530efa2b4e
2025-06-19 08:05:22 +00:00
Jakob Ackermann adf399fb95 [project-history] add support for resync of history-ot ranges (#26475)
* [project-history] add support for resync of history-ot ranges

* [project-history] avoid compressing sharejs and history-ot upgrades

* [document-updater] improve error message of some assertions

... by migrating the assertions like this:
```diff
-stub.calledWith().should.equal(true)
+stub.should.have.been.calledWith()
```
```diff
-stub.called.should.equal(false)
+stub.should.not.have.been.called
```

* [document-updater] move content field in resyncDocContent

* [document-updater] add support for resync of history-ot ranges

GitOrigin-RevId: e6104686a26934a5f25a8f095cbe00c163fbbaa7
2025-06-19 08:05:18 +00:00
Jakob Ackermann 5b39c76aa8 Merge pull request #26506 from overleaf/em-lazy-string-file-data-store
Fix lazy file data truncation on store()

GitOrigin-RevId: 2316a096e6a365178afbded58351359893a36312
2025-06-19 08:05:13 +00:00
Jakob Ackermann 30143ead97 [web] migration fixes (#26443)
* [web] fix typo in ESM migration of a db migration

* [web] migrate old migration to ESM

* [web] use batchedUpdate for bulk updates in old migrations

GitOrigin-RevId: a984f785c577c2ac4125c947b8a3efffa57e1eb7
2025-06-18 08:05:44 +00:00
Jakob Ackermann 982f647845 [web] copy duplicated comment id into id field (#26481)
GitOrigin-RevId: accd6d9dc0165ff2cc9f8edd28c42d38b76ba909
2025-06-18 08:05:39 +00:00
Jakob Ackermann 0c2f79b0b8 [misc] make log level configurable when running tests in ESM services (#26465)
GitOrigin-RevId: 153fa99731b2fbff6dfd5edc80ce3e8acf9fc5ce
2025-06-17 08:06:04 +00:00
Jakob Ackermann 7e9a33841d [project-history] migrate retry_failures script to ESM (#26444)
GitOrigin-RevId: 425e0e6c0a61ef7f8c8c3e07f2d16089f594eb32
2025-06-16 08:07:08 +00:00
Jakob Ackermann c7dd7208fb [document-updater] add flag for checking sync state of a single project (#26433)
GitOrigin-RevId: 504f607c652e59fa1305067f273db849d7923da2
2025-06-16 08:06:59 +00:00
Jakob Ackermann 8b937c91f4 [project-history] fix unit tests after merging multiple PRs (#26442)
GitOrigin-RevId: 9ccbadaa807da2f20010930477724e9370bf103e
2025-06-16 08:06:54 +00:00
Jakob Ackermann 22016ffef9 [clsi] adopt Server Pro env vars for sandboxed compiles (#26430)
GitOrigin-RevId: b7c0d9f4ff37d6cef77694a6a9ea4d50dcb148b2
2025-06-16 08:06:50 +00:00
Jakob Ackermann 740b1d3f50 [project-history] add script for retrying failures (#26427)
GitOrigin-RevId: 265cec9719825613de01d7f476b20203bbff8d7f
2025-06-16 08:06:41 +00:00
Jakob Ackermann 0aa56fbe2c [project-history] fix callback signature when processing no updates (#26420)
* [project-history] fix tests and cover callback for processing updates

The before setup was hiding that some tests were not doing what the
assertions were expecting.

* [project-history] fix callback signature when processing no updates

GitOrigin-RevId: 4fa14d47b9a1afd998316b0c9024d49760785a47
2025-06-16 08:06:36 +00:00
Jakob Ackermann 6f516b25af [project-history] add metrics for compression of updates (#26307)
* [project-history] add metrics for compression of updates

* [project-history] sample compression metrics

GitOrigin-RevId: 1cd67dc4ec7b44285afb436c62392b464f007f97
2025-06-16 08:06:28 +00:00
Jakob Ackermann f025f1d0cb [web] let docstore determine a projects comment thread ids (#26364)
* [docstore] add endpoint for getting a projects comment thread ids

* [web] let docstore determine a projects comment thread ids

Also fetch the comment thread ids once when reverting project.

GitOrigin-RevId: c3ebab976821509c9627962e58918f9c6ebb0e1d
2025-06-13 08:08:00 +00:00
Jakob Ackermann ab0199f238 [misc] migrate remaining references to our GCR repositories to AR (#26370)
* [misc] migrate remaining references to our GCR repositories to AR

* [server-ce] fix retagging of texlive images

GitOrigin-RevId: 81f955ad4c4486ad42b29cbd6bcc9d5ef4b1a432
2025-06-13 08:06:18 +00:00
Jakob Ackermann 8b91b3b749 [misc] wait for mongo before running acceptance tests (#26374)
GitOrigin-RevId: 1fde30c2b630a51f5eda9d318ac721a81cc23607
2025-06-13 08:05:08 +00:00
Jakob Ackermann 365af778b6 [web] fetch user details for chat messages/ranges in a single batch (#26342)
GitOrigin-RevId: 5a4238e30388bb7f58b7a93dda9e43338ab94f6e
2025-06-12 08:06:16 +00:00
Jakob Ackermann 3862826589 [web] let docstore determine user ids of tracked changes (#26333)
* [docstore] add endpoint for getting user ids of tracked changes

* [web] let docstore determine user ids of tracked changes

GitOrigin-RevId: 8d0a131555aa827f7ff80690fedc1aca26cf0817
2025-06-12 08:06:11 +00:00
Jakob Ackermann 25c3699862 [docstore] finish async/await migration (#26295)
* [docstore] DocManager.getDocLines returns flat content

* [docstore] peekDoc throws NotFoundError, skip check in HttpController

* [docstore] getFullDoc throws NotFoundError, skip check in HttpController

* [docstore] migrate HealthChecker to async/await

* [docstore] migrate HttpController to async/await

* [docstore] remove .promises/callbackify wrapper from all the modules

GitOrigin-RevId: a9938b03cdd2b5e80c2c999039e8f63b20d59dc5
2025-06-11 08:07:20 +00:00
Jakob Ackermann 3b684e08ca [web] fetch token users in a single db query per access mode (#26078)
* [web] skip db query when getting empty list of users

* [web] fetch token users in a single db query per access mode

GitOrigin-RevId: fa5d9edcb761bd5d5e5ea07d137a5a86efdbdd5c
2025-06-06 08:05:42 +00:00
Jakob Ackermann 842f6c289f [document-updater] make setDoc aware of tracked deletes in history-ot (#26126)
GitOrigin-RevId: efa1a94f2f435058b553f639e43832454c58591d
2025-06-06 08:05:23 +00:00
Jakob Ackermann cd10a31a16 [server-ce] fix direct invocation of create-user.mjs script in web (#26152)
GitOrigin-RevId: 9c7917e489dc8f3651f4ccf88a740ad60b6b4437
2025-06-05 08:06:06 +00:00
Jakob Ackermann b84d23564b [web] remove spurious cleanup of project audit log entries (#26102)
GitOrigin-RevId: 32693f89b417b357588d059500ab51c3a9dd46dd
2025-06-04 08:07:01 +00:00
Jakob Ackermann 4aaf411cd2 [misc] improve logging in history system (#26086)
* [project-history] tag all the errors

* [history-v1] log warnings for unexpected cases

GitOrigin-RevId: 3189fa487eee88985688ff990ec101daad0d13b1
2025-06-04 08:05:50 +00:00
Jakob Ackermann 3fbbb50ef7 [web] use correct term in setPublicAccessLevel API wrapper (#25848)
GitOrigin-RevId: 022c59d6d5c6f239438ed8e91f3ca47954198a0c
2025-06-03 08:06:26 +00:00
Jakob AckermannandAntoine Clausse 0aae5c48b4 [web] skip fetching members and invites for restricted users (#25673)
* [web] hide sensitive data from joinProject when building project view

* [web] skip fetching members and invites for restricted users

* [web] fix owner features in joinProject view

* [web] separate invited members from owner

* [web] skip fetching users with empty members  list

* [web] split await chain

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>

* [web] remove spurious parentheses

* [web] remove dead code

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 5b4d874f974971e9c14d7412620805f8ebf63541
2025-06-03 08:06:22 +00:00
Jakob AckermannandMathias Jakobsen 6cbacc8cb7 [web] fetch project once for joinProject (#25667)
* [web] fetch project once for joinProject

* [web] await all the nested helpers for getting privilege levels

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

---------

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: f0280c36ef995b417ccdab15014f05954e18c5f0
2025-06-03 08:06:13 +00:00
Jakob Ackermann 2e50e0ffa1 [web] add ProjectAccess helper class (#25663)
* [web] add ProjectAccess helper class

* [web] remove ts-ignore for calling OError.tag with try/catch error

GitOrigin-RevId: e097a95b4d929a3927a3eeb70635590680c93007
2025-06-03 08:06:01 +00:00
Jakob Ackermann 25577379fc [clsi] add env var override for seccomp profile (#25894)
GitOrigin-RevId: 6ef9a5c1f9149147641abb9fe1798b1b41a14c05
2025-05-23 13:25:58 +00:00
Jakob Ackermannandmserranom eaf71be07c [references] move redis config to common path in settings (#25883)
* [references] move redis config to common path in settings
---------

Co-authored-by: mserranom <mserranom@gmail.com>
GitOrigin-RevId: a5bf258bb71ff40344b53deb8c07dae849b4d00e
2025-05-23 11:08:35 +00:00
Jakob AckermannandEric Mc Sween 64984ee86a [history-ot] flush history for projects with short queues ASAP (#25776)
* [document-updater] flush history for projects with short queues ASAP

* [k8s] document-updater: enable short history queue for history-ot demo

* [project-history] flush history for projects with short queues ASAP

* [project-history] wait for mongo before running acceptance tests

* [k8s] project-history: enable short history queue for history-ot demo

* [project-history] change wait-for-mongo step in tests

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>

---------

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: 3e989c409e8e9887655b35f2659ce0829e61b357
2025-05-23 08:05:35 +00:00
Jakob Ackermann 11b94593c2 [web] remove deledFiles collection (#25750)
* [history-v1] remove processing of deleted files when back-filling hashes

* [web] remove deledFiles collection

GitOrigin-RevId: 7c080e564f7d7acb33ebe7ebe012f415a847d0df
2025-05-23 08:05:01 +00:00
Jakob Ackermann 47b76a49d8 [web] start fetching load global blobs on module import (#25757)
GitOrigin-RevId: 7c1b6ed717142ad07d6ba5464aab2ecc6ebe9736
2025-05-21 08:05:59 +00:00