Commit Graph

27276 Commits

Author SHA1 Message Date
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
f957ee267c Update required npm version (#31263)
GitOrigin-RevId: c455d7803b41f5f62573522a619649f1b03ef94e
2026-02-06 09:05:28 +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
Miguel Serrano
94b79aac8c [CE/SP] Hotfix 6.1.1 (#31007)
GitOrigin-RevId: 065fa842501b5dbe47fd8fb4f73b2dccaa495faa
2026-02-03 09:06:42 +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
Maria Florencia Besteiro Gonzalez
c790449196 Merge pull request #31216 from overleaf/revert-30418-mfb-improve-handling-of-debug-copies-of-user-projects
Revert "Add isDebugCopyOf property to project, add Debug tag to debug project."

GitOrigin-RevId: f0cf3f040ebe9b19d0836130df3df974ddef11f9
2026-02-03 09:06:31 +00:00
Domagoj Kriskovic
a991852c61 add max number of duplicate citation keys
GitOrigin-RevId: dd71cf7e5455d8cfdc60bab477c6b8c7f1af249a
2026-02-03 09:06:17 +00:00
Domagoj Kriskovic
9de3ac303d [web] add duplicate citation key detection and warning message in BibTex editor
GitOrigin-RevId: c126f05e0b9a0f7e37b5ff9e06833ba52fb9c34c
2026-02-03 09:06:12 +00:00
Domagoj Kriskovic
9028ec7b29 Use labs experiments for visual bibtex editor
GitOrigin-RevId: e616d42af0d54f9acdf40b24fbfcbed06f349266
2026-02-03 09:06:06 +00:00
Rebeka Dekany
f6eda40666 Fix badge height on the Labs page (#31213)
GitOrigin-RevId: a59d90c76e608bc34bbba9226136af21a2f1ea35
2026-02-03 09:06:01 +00:00
Kristina
4c5cdecffa [web] fix bug where pending downgrades are removed when subscriptions change (#30420)
* preserve pending changes when generating change requests
* re-apply pending term_end changes after immediate updates
* block changes when Stripe subscription has multiple phases
* handle MultiplePendingChangesError & rm PendingChangeError

GitOrigin-RevId: 0af11044766ff48e683d684ad6d62b732d17290c
2026-02-03 09:05:55 +00:00
Anna Claire Fields
ee4b5f515c Handle ERR_STREAM_UNABLE_TO_PIPE alongside ERR_STREAM_PREMATURE_CLOSE (#31174)
GitOrigin-RevId: bbf49237b177d7a58a9b13efc6f38f5eecfb745c
2026-02-03 09:05:50 +00:00
Maria Florencia Besteiro Gonzalez
a591f2eb7a Merge pull request #30418 from overleaf/mfb-improve-handling-of-debug-copies-of-user-projects
Add isDebugCopyOf property to project, add Debug tag to debug project.

GitOrigin-RevId: e3d17de05c6f31db16b861d1adae333211dff018
2026-02-03 09:05:40 +00:00
Jakob Ackermann
5829a7fe43 [web] integrate clsi-cache into download pdf from project dashboard (#31138)
* [monorepo] fix downloads from non-sharded clsi-cache

* [web] check some compile from cache options server-side

* [web] integrate clsi-cache into download pdf from project dashboard

* [web] remove frontend tests for server-side validation

* [web] remove unused fetch mock

* [web] use helper that adds polyfill for AbortSignal.any()

* [web] upgrade fetch-mock to fix leaking AbortSignal

* [web] do not add an extra timeout to clsi-cache request

The web backend service has a low timeout already.

GitOrigin-RevId: a90984b92f5d4f24005db5a09f2c5d2424436886
2026-02-02 09:06:13 +00:00
Jakob Ackermann
774d8434d8 [web] fix preparing clsi-cache when cloning project (#31169)
* [web] fix preparing clsi-cache when cloning project

* [monorepo] fix downloads from non-sharded clsi-cache

* [web] gracefully handle missing imageName when creating template

GitOrigin-RevId: 8647d1bb95edbedcd43cb6f9d9bc475f56e402c8
2026-02-02 09:06:08 +00:00
Domagoj Kriskovic
9bd7171413 [project-history] update getProjectBlobSchema to accept numeric history_id
GitOrigin-RevId: b38d8c9e279e227975a12662d3f0c9e0d21cc1bd
2026-02-02 09:05:33 +00:00