Commit Graph

24251 Commits

Author SHA1 Message Date
Kristina
f8d74187e1 [web] prefer mongo email when sending data to customerio (#31378)
GitOrigin-RevId: 33e137239d505e7feb6f6e1b2a00d7b5e60d0880
2026-02-10 09:06:08 +00:00
Kristina
a184a0c32f [web] handle pending changes in finalization script (#31342)
GitOrigin-RevId: 3f17c32d897e818d0ae1b0e33e66350de8513a8a
2026-02-10 09:06:03 +00:00
Kristina
1f5fec628b [web] apply runtime improvements to the finalization script (#31360)
* extract RateLimiter
* remove unnecessary remapping and wrappers

GitOrigin-RevId: fda1cdefa15f2f3fa9a042346a5ba4243897b90a
2026-02-10 09:05:58 +00:00
Andrew Rumble
b2d4687c52 [web] Experiment with code coverage (#28029)
* Update test script to allow coverage to be recorded

* Collect coverage in CI

* [web] integrate coverage report with Jenkins

* [web] add coverage report for acceptance tests

* Use --all flag in vitest coverage

* Use --all flag in acceptance tests

* Switch vitest to use istanbul

* Bump versions of vitest plugins and update package-lock.json

* [web] use a dedicated parameter for coverage in unit/acceptance tests

* [web] temporarily generate HTML report and archive artifacts

* [web] do not run acceptance tests as root in CI

* [web] increase hook timeout in vitest when collecting coverage

* [web] exclude packageMapping from coverage report

* [web] use relative paths in clover reports

* [web] reduce concurrency for unit tests in CI

* [web] keep source code forever on builds

* Revert "[web] temporarily generate HTML report and archive artifacts"

This reverts commit 4c9db571

* [web] archive all the raw coverage report files

* [monorepo] update build scripts for web

* [monorepo] update package-lock.json after merge

* [web] remove spurious change

* [web] merge Jenkins parameter sections

* [web] increase hookTimeout when collecting coverage report

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 9f1ec6d38a7b037267737bec3b0bc53a0ac844af
2026-02-10 09:05:36 +00:00
Antoine Clausse
9e41d9afdb Add script to create Stripe prices from CSV (#31144)
* Extract currency conversion and rate limiting functions to helpers

* Add script to create prices from CSV for Stripe integration

* Add tests for create prices from CSV script

* Add usage documentation for create_prices_from_csv script

* Add `planCode` metadata

* Temp: Plans CSV example

* Revert "Temp: Plans CSV example"

This reverts commit 810b1ed67052f7a1a0deb20b70f14507a282fcf1.

* Various improvements to price and product creation script

---------

Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: c015c6dd904db3143781581db4210cef282a4070
2026-02-10 09:05:28 +00:00
Simon Gardner
a5f9e6ecd6 web: fix: BOM parsing and rate limiting bugs in Recurly -> Stripe customer upsert script (#31398)
* fix: add check for BOM to csv parser

* fix bug in throttling that allowed 'stampeding herds'

* fix theoretical error handling bug in throttle()

GitOrigin-RevId: cfe5da63281590b03ababef370a2fb1a316f2dbf
2026-02-09 09:07:43 +00:00
roo hutton
f9801ea98e Merge pull request #31353 from overleaf/rh-project-model-readonly
Add readOnly attribute to ProjectSchema

GitOrigin-RevId: 9f7529549f940f69d70e357145dab7b297f3ce68
2026-02-09 09:07:13 +00:00
Domagoj Kriskovic
5423c5c792 add threadDeleted event
GitOrigin-RevId: 98ebe9797121b2c2e38f10a53de6b0f6b45a9362
2026-02-09 09:06:25 +00:00
Domagoj Kriskovic
c20be33e74 [web] add commentEdited and commentDeleted events for dsmp
GitOrigin-RevId: 6e43ffd2d782f35ef8202aeb5ef7edf25c0c3a88
2026-02-09 09:06:20 +00:00
Jakob Ackermann
8f173d7dc7 [web] integrate example project with clsi-cache (#31365)
* [web] integrate example project with clsi-cache

* [web] make prettier happy

* [e2e] gracefully handle initial compile from cache

GitOrigin-RevId: c7730a511e889749399ce660d692cad6e57dd5b3
2026-02-09 09:05:59 +00:00
Jakob Ackermann
1e9f917fe1 [web] add optional pub/sub based sync mechanism for system messages (#31328)
* [web] add optional pub/sub based sync mechanism for system messages

* [web] refactor lazy creation of redis connection

GitOrigin-RevId: 5f69428b8e8dac59aad73e8f16cd25625f2daae4
2026-02-06 09:06:12 +00:00
Jessica Lawshe
487ffc2309 Merge pull request #31099 from overleaf/ii-domain-capture-member-limit-email
[web] Members limit email template changes

GitOrigin-RevId: 8c26adda9f748a22a2c99787a3166be706293de3
2026-02-06 09:06:04 +00:00
Jessica Lawshe
83dc28178e Merge pull request #31237 from overleaf/jel-managed-user-domain-capture
[web] Secondary email remove message for managed users enrollment via domain capture

GitOrigin-RevId: fdaa441a7652f20a4a49bf45cf6d78925ce0e857
2026-02-06 09:05:53 +00:00
Jakob Ackermann
50f049ac7c [web] run prettier/eslint as node user locally (#31355)
GitOrigin-RevId: 2dd6c69eabe8223b8c9fba05dd1f4d81ddb6a481
2026-02-06 09:05:49 +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
Alf Eaton
07d39f631a Add Cypress tests for code check (#30781)
GitOrigin-RevId: 6ff1314542c3042d40054e5173ea85e14719d8a2
2026-02-06 09:05:40 +00:00
Alf Eaton
9cbfb663ac [workbench] Improve accessibility recommendations and tools (#31221)
GitOrigin-RevId: 04890c2618a70d90a1d3ef1998c16b599e1dff84
2026-02-06 09:05:32 +00:00
Alf Eaton
849518d8ea Remove UMD library target (#31044)
GitOrigin-RevId: 377fbf06ea292c223d51c0e151b7803abf443b60
2026-02-06 09:05:23 +00:00
Simon Gardner
209c1cfbfb Add audit log entries for project-role-changed and group-role-changed
GitOrigin-RevId: 4c326dd922bede6f218a6d89e4f18c312a9abf98
2026-02-06 09:05:19 +00:00
Simon Gardner
4d338efe56 updates to recurly -> stripe customer upsert script
GitOrigin-RevId: dfe277807f9282804fed5a9cdf86e654a719de96
2026-02-06 09:05:15 +00:00
Kristina
4decfd343d [web] update finalization scripts for phase 2 (#31293)
* handle group quantities & add-ons when detecting changes
* include analyticsId in output
* flag users in customer-io
* rely on customer metadata for tax info needing updating
* rollback customer.io data in rollback script
* refactor how we handle errors when migrating to avoid losing data for output

GitOrigin-RevId: f77430b0b366217ac85b72dde92e9364dc879023
2026-02-06 09:05:07 +00:00
Copilot
35906b4018 Deduplicate users in checkUserListPermissions to avoid redundant permission checks (#29461)
* Fix duplicate permission checks for same user

Deduplicate user list in checkUserListPermissions before running expensive checks.
Handles ObjectId vs string comparison by converting to string.
Adds tests to verify deduplication works correctly.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: thomas- <2176518+thomas-@users.noreply.github.com>
GitOrigin-RevId: 96eede1cbeb18b807deaca7d4c370aef5c48c4bc
2026-02-05 09:06:17 +00:00
Jakob Ackermann
49c1c65dd8 [e2e] e2e_test_setup: perform health check on all the services (#31311)
* [e2e] e2e_test_setup: perform health check on all the services

* [monorepo] install curl in nginx-proxy

GitOrigin-RevId: 0d04e2b1012e8b0349cdb297b43a303797fb1968
2026-02-05 09:05:53 +00:00
Andrew Rumble
f434bc3825 Merge pull request #31142 from overleaf/ar-promisify-web-api-manager
[real-time] promisify web api manager

GitOrigin-RevId: da2677c05dd7d066b0a625763d4158b28671615e
2026-02-05 09:05:48 +00:00
Eric Mc Sween
d9cf720566 Merge pull request #31239 from overleaf/em-bibtex-grammar
Improvements to the lezer grammar for BibTeX

GitOrigin-RevId: 33ece6f3c6a34380aa7b2a46ff624aff3ccf8a10
2026-02-05 09:05:44 +00:00
Rebeka Dekany
ee6047ccd6 Add password visibility toggle to homepage registration (#31092)
* Add password visibility toggle to homepage registration

* Update text to "Create password" in registration form on the homepage

* Use material-symbol instead

GitOrigin-RevId: c40f3e9f696929108bad2e54acacfe3323ff70db
2026-02-05 09:05:33 +00:00
Rebeka Dekany
3607a1dbd8 Align the Project page with website redesign (#31255)
* Move project page to website-redesign layout

* Add background hover for the welcome message cards

GitOrigin-RevId: fd02e04e8dc764fdb1c00b6182210efa63352725
2026-02-05 09:05:29 +00:00
Alf Eaton
edee29827d [workbench] Avoid throwing an error in onFinish (#31298)
GitOrigin-RevId: bff1e08e18f7c2a3c19e7174ccdc78adae4d1ee9
2026-02-05 09:05:11 +00:00
Tim Down
ad456c3f11 Merge pull request #31091 from overleaf/td-new-plans-temp-page
Basic temporary pricing page for new plans

GitOrigin-RevId: eec126599b21dfda4d8067c110553539b29f3451
2026-02-05 09:04:59 +00:00
jmescuderowritefull
9eaacdf5d5 Add a page for logging out of Overleaf (#30945)
GitOrigin-RevId: 88a9bfd698bcd6cf03f3081e807def6b9b846e86
2026-02-05 09:04:55 +00:00
Rebeka Dekany
eeecf3d71a Update web build script with node version (#31271)
GitOrigin-RevId: 030b868b396e251a2d0830a67e88d1d698cedd38
2026-02-04 09:08:45 +00:00
Mathias Jakobsen
3434ad7ca6 [web] Use themed colour for rail separator (#31269)
GitOrigin-RevId: e7db2f7d33f07702940fce8b3a2f725914a421f8
2026-02-04 09:08:36 +00:00
Alex Vizcaino
30af3751c6 Enhance citation checker feature flag handling and quota management (#31149)
GitOrigin-RevId: 57232bcb1e6044ba9d42f1a518558ed537ab69b9
2026-02-04 09:08:27 +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
Alf Eaton
9b10da6eaf Use buttons for rail tabs (#31133)
GitOrigin-RevId: 9f251969ed0f88a32f8bf706a6320c4c81c6d000
2026-02-04 09:08:00 +00:00
Alf Eaton
400d903959 [workbench] Show error message for aborted response (#31194)
GitOrigin-RevId: 53e189419bdba79a9272df3fff58715d99a0823e
2026-02-04 09:07:55 +00:00
Mathias Jakobsen
c1c498b5b6 Merge pull request #31224 from overleaf/mj-soften-usage-limit-error
[web] Convert rate limit error to info

GitOrigin-RevId: 83cd5ab77e9a7901c8ca0f331d575bf241fca591
2026-02-04 09:07:20 +00:00
Mathias Jakobsen
30b09bfdcc Merge pull request #31220 from overleaf/mg-workbench-ai-assist-release
Update workbench to be for AI Assist users

GitOrigin-RevId: a53c52344cae7d27fc0e1e13f3956e00df421503
2026-02-04 09:07:15 +00:00
Mathias Jakobsen
fac043695d Merge pull request #31147 from overleaf/mj-remove-workbench-labs-experiment
[web] Move workbench out of labs experiment

GitOrigin-RevId: aafe57730114f0196a5055671635a17710942881
2026-02-04 09:07:10 +00:00
Domagoj Kriskovic
b10854f3e3 Use "tanstack/react-table" for visual bibtex editor
GitOrigin-RevId: 85c7ae2433de04a4d64d9d59af062646add3b473
2026-02-04 09:06:49 +00:00
Maria Florencia Besteiro Gonzalez
a76f0ee9f4 Merge pull request #31247 from overleaf/revert-31216-revert-30418-mfb-improve-handling-of-debug-copies-of-user-projects
Revert "Revert "Add isDebugCopyOf property to project, add Debug tag to debug project.""

GitOrigin-RevId: 2ed41ec4504ccd8b6ec9cb1d23a9d217079d4347
2026-02-04 09:06:44 +00:00
Chris Dryden
fa4a8a0333 Merge pull request #31141 from overleaf/cd-adjust-githubworkflow-error-message-for-non-project-owners
Add GitHub error message for non-project owners

GitOrigin-RevId: 954c5ae45cee9de22df20acfe26867d50b049100
2026-02-04 09:06:39 +00:00
Kristina
0cabc81d46 Merge pull request #31218 from overleaf/kh-update-assistant-prices
* update Stripe AI assist prices
* add soft archive option to the archiving prices script

GitOrigin-RevId: 3f0b66cf227e31e03fb3337b3cb4c1b6a82bd1db
2026-02-04 09:06:34 +00:00
Kristina
4bae5f406d [web] fix pending downgrade bug (#31235)
GitOrigin-RevId: a83f21b87abc8758f94900d6af151ea10928047d
2026-02-04 09:06:29 +00:00
roo hutton
a0a621f727 Merge pull request #30788 from overleaf/rh-cio-sub-topics
Replace Mailchimp newsletter subscriptions with customer.io topic subscriptions

GitOrigin-RevId: de536fb7ef24ff44c494659b2ef5ede5b33cc977
2026-02-04 09:06:24 +00:00
ilkin-overleaf
061cc99dad Merge pull request #31229 from overleaf/ii-subscription-redirect-on-error
[web] Fix redirect to subscription page

GitOrigin-RevId: 57a3b9c3e8aba2e8a9dde955faaf4b782aeaecac
2026-02-04 09:06:19 +00:00
Mathias Jakobsen
78640e2a9a Merge pull request #31131 from overleaf/mj-restore-view-only-access-modal
[web] Restore ViewOnlyAccessModal in new editor

GitOrigin-RevId: 23a28ac96c13e6e398f6d2bd1e650b7684e9bed1
2026-02-04 09:06:14 +00:00
ilkin-overleaf
c516ffd476 Merge pull request #31214 from overleaf/ii-domain-capture-error-when-email-not-on-account
[web] Error message change when email not on account

GitOrigin-RevId: 25cd57819fc82818189d9c1b5bd2924250af729a
2026-02-04 09:06:09 +00:00
Jakob Ackermann
28a7aa5e19 [web] deactivate_projects: spread archiving jobs over the cron interval (#31212)
* [web] deactivate_projects: spread archiving jobs over the cron interval

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

* [web] deactivate_projects: stop processing after graceful shutdown

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

* [web] deactivate_projects: exit w/ code 1 when aborting due to max-time

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

* [web] deactivate_projects: adjust bail out for timeout

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

* [web] deactivate_projects: handle small number of projects better

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

* add comment about use of --maxTime option

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: c62c66725233d391fd2c8d86ce95275cea88f36c
2026-02-04 09:05:59 +00:00
Jimmy Domagala-Tang
fc8d564320 Editor Redesign Cleanup: main layout, toolbar, and rail (#31031)
* feat: integrate  main layout, toolbar, and rail from redesign into main ide-react folder

* feat: remove additional files no longer used after ide redesign

GitOrigin-RevId: 8fd77f63cb9c67be91995a9dde13b0fe2376d80f
2026-02-03 09:06:37 +00:00