Commit Graph

875 Commits

Author SHA1 Message Date
Jakob Ackermann
7a4ee32af3 [history-v1] fix missing linked file metadata when adding file (#32524)
* [overleaf-editor-core] rename stats field for file metadata

* [history-v1] fix missing linked file metadata when adding file

* [history-v1] address review feedback

* [saas-e2e] remove extra login call

GitOrigin-RevId: 178254993f9a9803b160ad8bb661f480144a3cf2
2026-03-31 08:08:14 +00:00
Lucie Germain
a8861b2583 Merge pull request #32528 from overleaf/lg-fix-randomised-test-debuggability
[overleaf-editor-core] Log failing inputs in randomised tests

GitOrigin-RevId: 0bc86e9e30935428208fc01c2a4a45f3b19ee837
2026-03-31 08:07:48 +00:00
Jakob Ackermann
9f8f77e56f [web] extend history debugging with estimate on snapshot size (#32502)
GitOrigin-RevId: 6ee75d227c0d093e4698324f6cc018b077076730
2026-03-30 08:06:09 +00:00
Anna Claire Fields
6113c6c291 Enable TS noImplicitAny in web (#31636)
GitOrigin-RevId: 18881694770f2476c475f8fef4c6a2678a2a12fe
2026-03-27 09:05:30 +00:00
Andrew Rumble
16a616f112 Merge pull request #32395 from overleaf/ar-more-information-on-long-requests
[fetch-utils] more information on long requests

GitOrigin-RevId: 716620fa95fcfbe563ad0a3728cebd09509b03f5
2026-03-25 09:05:49 +00:00
Andrew Rumble
632299d7b5 Merge pull request #31723 from overleaf/ar-do-not-queue-invalid-analytics-messages
[analytics] do not queue invalid analytics messages

GitOrigin-RevId: 9182fe41974ab618e7a51330bfba6703894295f4
2026-03-23 09:05:29 +00:00
Andrew Rumble
6f8a2ea9e3 Merge pull request #32217 from overleaf/ar-log-long-fetches
[fetch-utils] allow long running requests to be logged

GitOrigin-RevId: 19688937b8aefe314b6bcde98c61badf4f250472
2026-03-18 09:07:31 +00:00
Lucie Germain
bf1f34bca6 Merge pull request #32197 from overleaf/lg-project-number-buildscripts
Replace project name with project number for --pipeline-owner in buildscripts

GitOrigin-RevId: c021447091b388ee3a26e59e7163d53bcd1c8e81
2026-03-18 09:07:27 +00:00
Jimmy Domagala-Tang
501e11a42a Move feature rate limiters to shared web folder (#31855)
* feat: remove old assist split test

* feat: moving featue rate limiters to main shared directory for use in multiple modules

* feat: base workbench rate limiter on a token specific base class

* feat: rename aiErrorAssistRateLimiter to AiFeatureUsageRateLimiter to better reflect its for our shared ai usage quota

GitOrigin-RevId: 89464d115b5904f6274756a7169e2b35945e2fc9
2026-03-06 09:13:40 +00:00
Jakob Ackermann
81b7121408 [clsi] initial implementation of compile from history (#31883)
* [clsi] initial implementation of compile from history

* [clsi] copy changes

* [saas-e2e] extend test case with nested folder

* [saas-e2e] add test case for tracked changes

* [web] fix accumulating changes from multiple chunks

* [web] optimize size check for compile request payload

* [clsi] deduplicate globalBlobs

* [clsi] add validation for request body details

* [clsi] add metrics for compile from history

* [clsi] download binary files concurrently

* [clsi] skip download of empty file blob

* [clsi] break down e2e compile time metric by compileFromHistory

GitOrigin-RevId: 0dadef93e89d8a172c35cb130a1042d9d1bec42a
2026-03-06 09:12:07 +00:00
Daniel Kontšek
ae444be728 Merge pull request #31913 from overleaf/dn0-remove-manual-gc
Enable gc-time metric

GitOrigin-RevId: ed9890f7f065d67a6b62ee1d8dc338a8623cad39
2026-03-06 09:11:21 +00:00
Andrew Rumble
d8f9a643cd Merge pull request #31794 from overleaf/ar-prefer-dedupe-when-installing-npm-modules
[monorepo] use prefer-dedupe when installing npm modules

GitOrigin-RevId: de814fa1e91e37a20cb4024f8aa0454e5e86f0a6
2026-03-06 09:08:46 +00:00
Andrew Rumble
d004aec6f1 Merge pull request #31727 from overleaf/ar-fast-xml-parser-5.3.6
[monorepo] upgrade packages that depend on unsafe fast-xml-parser

GitOrigin-RevId: 8c61d9db1a7ab164dc9233f29c2de11b461f11a4
2026-02-24 09:05:55 +00:00
Jakob Ackermann
df8190ec8c [logger] fix rendering of log context in testLogRecorder (#31522)
- use the processed context
- use the 'err' serializer for the 'error' field

GitOrigin-RevId: d1215e5af1f32bb1d9b5593e2644bea593daabda
2026-02-13 09:05:53 +00:00
Anna Claire Fields
72f8dff76d Upgrade GC storage and big query with updated patches (#31297)
GitOrigin-RevId: ff1432f4194c3529ebf6090d1f93dbed38539014
2026-02-11 09:06:32 +00:00
Jakob Ackermann
a1a248cf9b [object-persistor] lazy load all the persistor implementations (#31431)
GitOrigin-RevId: ca8a5a7d6402810b01351c89318cb2c5ed0b7385
2026-02-10 09:06:46 +00:00
Jakob Ackermann
fd647002f5 [monorepo] enable caching for eslint and prettier (#30967)
* [monorepo] enable caching for eslint/prettier/stylelint

* [monorepo] speed up prettier by swapping --list-different for --check

--list-different will print each file that it processes. We have a lot
of files in the monorepo. Using --check only prints mismatching files.

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>

* [monorepo] explicitly configure prettier cache-location

This is the default location. Prettier will only discover that location
if the top level node_modules folder is writable, which is not the case
in CI. We create the .cache folder outside of docker, writable to node
inside docker.

The proper fix would be in prettier, to only check for write access in
the cache folder. Something to raise/upstream another day.

* [monorepo] run top-level format/format_fix in a single container

With the cache in place, it is much faster to use a single container.
As there is a single shared cache file, concurrent processes may see a
partially (re-)written cache file and bail out.

- all in a single container: 24s
- previous with -j4: 41s
- previous with -j8: failed due to corrupted cache file

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 7850a3a980ae6c836393d97fe56a6316ffc3fa18
2026-02-06 09:05:44 +00:00
Rebeka Dekany
a648015db8 Centralize prettier configuration to root level (#30501)
* Merge all .prettierignore files into top-level config

* Merge all .prettierrc files into top-level config

* Replace service-specific glob patterns in package.json format scripts with `prettier .`

* Add template files with Jinja2, Go template, envsubst, and Handlebars syntax to .prettierignore

* Ignore GitHub templates

* Ignore PUG templates to format them separately with `format:pug`

* Encourage double quotes for YAML, YML files

* Move prettier for PUG source format script to the root

* Move prettier for styles source format script to the root

* Remove prettier for jenkins files from web

* Remove prettier source format script from all services

* Make .prettierrc more readable

* Update format scripts by file type

* Organise `.prettierignore`

* Add `--cache` flag to prettier scripts for faster runs

* Format all files with prettier

* Format all or format services

* Remove `format`/`format:fix` scripts from services since now it runs from root `package.json`

* Avoid conlficts with yamllint configuration

* Remove `--cache` flag from prettier scripts

* Update all service Makefiles to use root-level prettier configuration

* Update all Jenkinsfile to use root-level prettier configuration

* Ignore auto-generated files by build_scripts

* Update package-lock.json

* Update root Makefile format targets

* Update SP Jenkinsfile format target

* Update E2E Makefile format script

* Udpate `format_js` to work in both local and CI env

* Add docker-mailtrap to .prettierignore

docker-mailtrap is a third-party git-ignored directory used for testing

* Added Docker env detection to prevent nested Docker spawning

* Ignore handlebars templates

* Add cryptographic files and test output to `.prettierignore`

* Add terraform modules to `.gitignore`

* Remove prettier-plugin-groovy

* Use npx directly instead of Docker for local formatting for faster formatting

* Auto-generate Makefiles

* Revert "Remove prettier-plugin-groovy"

This reverts commit 194a33589a2e1e4d2225d10c67e9f025e4222025.

* Mount monorepo root in RUN_LINT_FORMAT for prettier config access

* Prettier ignores all `node_modules` by default regardless of location

* Show only changed files in format output

* Ignore LICENSE files

* Enable prettier on rendered build_scripts outputs

* Ignoring all the template folders by prettier

* Remove the public/minjs entry since it does not exist

* Remove all non-existent paths

* Sync `.prettierignore` with ignored files by `.gitignore` and `.dockerignore` files

* Revert "Auto-generate Makefiles"

This reverts commit c0233e490de1bc95fe437219d65e0b66e0331ec9.

* Revert "Use npx directly instead of Docker for local formatting for faster formatting"

This reverts commit 1d2b2cf1a6c6974c76885852a90dd55e84167e41.

* Ignore dashboard JSON files

* Ignore files generated by bin/update_build_scripts

* Remove unsupported file types from `.prettierignore`

* Ignore test fixture generated files

* Ignore README file types by prettier

* Ignore generate snapshots by prettier

* Allow to format generated bin/update_build_scripts by prettier

* Ensure build script outputs prettier-compatible tsconfig.json

* Fix build script output to match prettier formatting
- Fix Jinja2 whitespace in docker-compose templates
- Change YAML quotes from single to double

* Don't read cryptographic files by prettier

* Ignore google verification files by prettier

* Revert npx prettier formatting

* Ignore domain verification files

* Show only changed files in format output

* Make `.github` prettier

* Allow all files to be formatted in jobs by prettier

* Allow server-ce/server-pro files to be formatted by prettier

* Ignore more folders in clsi, filestory, git-bridge by prettier

* Update build script with `RUN_LINTING_CI_MONOREPO`

* Ignore docker-mailtrap and downloads in server-ce by prettier

* Restore prettier configs and prettierignore for V1 since it has its own prettier (an older version)

* Source format

GitOrigin-RevId: 637adc3cc422d1f20c86d6ebc8ec514d60758287
2026-02-04 09:08:22 +00:00
Anna Claire Fields
e80ce42896 Upgrade Node.js from 22.18 to 24.13 (#30509)
GitOrigin-RevId: c2405a0583e68c61351f52b32ba28faec994fbc0
2026-01-30 09:05:28 +00:00
Antoine Clausse
c512072c02 Merge pull request #30980 from overleaf/revert-30752-acf-upgrade-google-cloud-storage
Revert "Update @google-cloud/storage to version 7.18.0"

GitOrigin-RevId: 55136a0fbd6a07011505471e47db0485326ddeb3
2026-01-26 09:06:28 +00:00
Anna Claire Fields
21d672c0f4 Update @google-cloud/storage to version 7.18.0 (#30752)
GitOrigin-RevId: 2acdc676cf821b3a3c562961742c7e83145a9406
2026-01-21 09:05:41 +00:00
Alf Eaton
03a3518aae Merge pull request #30703 from overleaf/ae-prettier
Upgrade Prettier to v3.7.4

GitOrigin-RevId: 0f4434019bc7d12f2d5b7ecbb833ee20570d0706
2026-01-16 09:56:07 +00:00
Andrew Rumble
4271744bfd Merge pull request #30606 from overleaf/ar/bump-qs-to-6.14.1
[monorepo] bump qs to 6.14.1

GitOrigin-RevId: 4b1f8b1cf739c3c0195392fa6707fc233d036b70
2026-01-15 14:20:06 +00:00
Jakob Ackermann
95f0dac343 [clsi-cache] add sharded disk layout (#30763)
* [clsi-cache] remove old DiskCrawler

* [clsi-cache] use helpers for populating state during initial crawl

* [clsi-cache] use path helpers everywhere

* [clsi-cache] create project folder as part of the initial crawl

* [clsi-cache] add sharded disk layout

* [k8s] clsi-cache: switch clsi-cache-zone-b-shard-0 to new disk layout

* [clsi-cache] tweak logging context

* [monorepo] add bin/format_project_key util

* [k8s] clsi-cache: use a single nginx config file

GitOrigin-RevId: bb49146502cc6201eef210efae33355321efd77b
2026-01-15 14:19:28 +00:00
Tim Down
64da16f0d1 Merge pull request #28670 from overleaf/td-rename-validate-req
Rename validateReq to parseReq

GitOrigin-RevId: a935aaa3f89495e164ce5d10b0bd80436571440f
2026-01-15 09:05:09 +00:00
Jakob Ackermann
18cff6e1ac [object-persistor] import ProjectKey helper from history-v1 (#30600)
GitOrigin-RevId: c72aa4bf91569904a2072c74d6ed2f3c764d97bb
2026-01-13 09:06:55 +00:00
Jakob Ackermann
425e7b1e5b [web] enable mongo notablescan in CI (#29501)
* [monorepo] record ERROR/FATAL log messages in junit report

* [web] put SaaS specific code behind feature flag

* [web] use split test cache for getting user assignments

The unit tests needed updating as they did not replicate any of the
 mongo filtering. The acceptance tests cover this logic.

* [web] make better use of existing indexes

* [web] avoid col-scan in tests of notifications module

* [web] remove cleanup of empty feedbacks collection

* [web] add assertion for reason of rejected request in launchpad test

* [web] add missing indexes

* [web] enable mongo notablescan

* [web] make emailNotifications tests compatible with notablescan

GitOrigin-RevId: b888f2feeb3a0e915f068ae1c4ea23ec17821221
2026-01-13 09:06:38 +00:00
Alf Eaton
d1db34bcf0 Upgrade TypeScript to 5.9 (#30433)
GitOrigin-RevId: 7b11f258c0188f69fabd8fd0da709e0979fc8a4a
2026-01-09 09:06:33 +00:00
Jakob Ackermann
32ad596e54 [clsi] minor fixes for clsi-cache (#30551)
* [clsi] fix circuit breaker for clsi-cache

* [clsi] enable ts-check for CLSICacheHandler

* [clsi] limit the number of .blg files in clsi-cache to 50

* [clsi-cache] limit the number of files per job to 100

* [clsi-cache] explain early registration of buildId

* [clsi-cache] lock down downloads via nginx to project folder

GitOrigin-RevId: 081d0c40b08db3a384c4d765b71a50b973f42151
2026-01-07 09:06:30 +00:00
Andrew Rumble
0ca1888f76 Merge pull request #29374 from overleaf/renovate-major-vitest-monorepo
chore(deps): update vitest monorepo to v4 from ^3.2.4 (major)

GitOrigin-RevId: 553a8fefadd82598a9ff4089ce468b59791e2d43
2025-12-18 09:06:39 +00:00
Eric Mc Sween
969079125a Merge pull request #30386 from overleaf/revert-30335-em-retry-octokit
Revert github-sync octokit migration

GitOrigin-RevId: d9f89e058e4ef9f5e6c157089be2793168db9170
2025-12-17 09:07:05 +00:00
Eric Mc Sween
d496324b8d Merge pull request #30335 from overleaf/em-retry-octokit
Retry github-sync migration to octokit

GitOrigin-RevId: d34b2498e86039dd0781a1707adbfe523acfa250
2025-12-17 09:06:13 +00:00
Domagoj Kriskovic
7b00e5d9f5 Add routes to save/get project notification preferences (#30114)
* Add routes to save/get project notification preferences

* update route url

* improve zod schema

* remove unused json response

* update schema and fix tests

* add jsdoc types to pass type-check

* remove using zod strict()

GitOrigin-RevId: f3ab5c88b58bd5af71e0504d0efbe03bdf9b243c
2025-12-16 09:07:07 +00:00
Anna Claire Fields
65c164c73d Merge pull request #30053 from overleaf/acf-migration4-controllers-and-params
(4) Update controllers and tests for Zod migration

GitOrigin-RevId: 876fd64f96e1f5d7244ac1d45053c7db9857d46b
2025-12-16 09:06:44 +00:00
Brian Gough
7a57ef00cb Merge pull request #30045 from overleaf/bg-object-persistor-make-list-directory-safer
Improve safety of object persistor

GitOrigin-RevId: bced9814de6613b388ca288a5f72cd42cff6c1d3
2025-12-05 09:06:42 +00:00
Miguel Serrano
a3ec5b2797 Merge pull request #30018 from overleaf/msm-fix-esm-import
[web] Fix ESM import

GitOrigin-RevId: 887f4927248241cb3d237e0bdad36b05928657ef
2025-12-03 09:05:32 +00:00
Maria Florencia Besteiro Gonzalez
dab59520c3 Merge pull request #29930 from overleaf/mfb-fix-zod-iso-datetime-error
allow iso date time string with offset on zod validation. add unit te…

GitOrigin-RevId: 88407fe681a66d13737de41789a9ea807a23627a
2025-12-01 09:06:23 +00:00
Gernot Schulz
74efa0e345 Merge pull request #29898 from overleaf/gs-jenkins-issues-all-pipelines
Enable Jenkins hooks for creating GitHub issues for all pipelines with owners

GitOrigin-RevId: ba46db1d3137db12ee5c78f09b126fb9927d9c49
2025-11-27 09:06:04 +00:00
Borja
2c00a7a3a4 fix: insert new line after inserting title, abstract or keywords (#29882)
GitOrigin-RevId: d8d79e95d9eb544adaff8850630df996461bacb9
2025-11-26 09:05:27 +00:00
Eric Mc Sween
1b2a52ad7f Merge pull request #29877 from overleaf/em-revert-octokit
Revert octonode to octokit migration

GitOrigin-RevId: 6a5819a0f25c96bea10bc0cae33ae90ee5038276
2025-11-25 09:06:41 +00:00
John Lees-Miller
b514ebcc8e Support analytics data in user export bundle
GitOrigin-RevId: 49739297f40831cf035e2a9d4f3343a8cb2d7fdb
2025-11-25 09:06:20 +00:00
Eric Mc Sween
ba61b0dfd4 Merge pull request #29691 from overleaf/em-promisify-github-manager
Replace octonode with octokit in github-sync

GitOrigin-RevId: dfe4f94bed8c4c41a2234860ce2b3443eb076cb9
2025-11-25 09:05:53 +00:00
Maria Florencia Besteiro Gonzalez
e861e28296 Merge pull request #29593 from overleaf/mfb-from-joi-to-zod-analytics
[Analytics service] Migrate from JOI to ZOD

GitOrigin-RevId: 5f6abc23c5359ca8599ef4b7d660d5f08551d247
2025-11-21 09:05:50 +00:00
Andrew Rumble
5a4592b153 Merge pull request #29720 from overleaf/renovate-npm-glob-vulnerability
[Core] Update dependency glob to v11.1.0 [SECURITY] - abandoned

GitOrigin-RevId: 866612e84e2afd3edc97c244e22faeaff22484cf
2025-11-20 09:05:44 +00:00
Borja
b1009d3b1f Writefull refactor bootstrapping (#29549)
GitOrigin-RevId: f8422d3c3d1d7e588f18352e08c7596b520225e5
2025-11-19 09:05:09 +00:00
Eric Mc Sween
a67d70c74a Merge pull request #29609 from overleaf/renovate-npm-nanoid-vulnerability
Update dependency nanoid to v5 from ^4.0.2 [SECURITY]

GitOrigin-RevId: 9d87781d2169fb1c9003d3c42b4531bb9e1c377e
2025-11-14 09:05:45 +00:00
Mathias Jakobsen
8024fe2c58 [web] Add AI workbench to alpha users (#29417)
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 79bb329932b1e6fcc88f648bca9cc4bee215cd41
2025-11-11 09:06:08 +00:00
Gernot Schulz
b834b8bcb7 Merge pull request #29537 from overleaf/gs-jenkins-pr-build-tags-templates
Tag images with branch head instead of merge commit (templates)

GitOrigin-RevId: 53e616aeec058863e25b356841a59f3ebe13c87f
2025-11-10 09:05:00 +00:00
Maria Florencia Besteiro Gonzalez
8cd2f6ac46 Merge pull request #29485 from overleaf/mfb-from-joi-to-zod-clsi-cache-revert
Reapply "migrate from joi to zod CLSI-CACHE service"

GitOrigin-RevId: 638b9e21b8cf18c1733f8a01375dab4099fe5d73
2025-11-04 09:06:10 +00:00
Maria Florencia Besteiro Gonzalez
a88c307962 Merge pull request #29471 from overleaf/revert-29369-mfb-from-joi-to-zod-clsi-cache
Revert "migrate from joi to zod CLSI-CACHE service"

GitOrigin-RevId: 1846e5a1d990f7ff22982fc32277e24d69e9d1e0
2025-11-03 09:06:10 +00:00