Commit Graph

27801 Commits

Author SHA1 Message Date
Jakob Ackermann
926d6bccd7 [clsi] reduce write traffic to clsi-cache from free users (#32958)
GitOrigin-RevId: c01cc21c3c82f361c7d82843e65bb087b21434ed
2026-04-22 08:05:59 +00:00
Andrew Rumble
98dbb48c59 Merge pull request #32797 from overleaf/upgrade/path-to-regexp-0.1.13-8.4.0
[monorepo] upgrade path-to-regexp

GitOrigin-RevId: 27a6e32594957407807e88c5d9eb62e9399ccaf5
2026-04-22 08:05:50 +00:00
Andrew Rumble
bddc1d3fab Merge pull request #32906 from overleaf/ar-upgrade-protobufjs-7.5.5
[monorepo] upgrade protobufjs 7.5.5

GitOrigin-RevId: 7a8038737f8160e55031fa0365242f22c2dd97f5
2026-04-22 08:05:45 +00:00
Andrew Rumble
b98688b190 Merge pull request #32795 from overleaf/upgrade/defu-6.1.5
[monorepo] upgrade defu to 6.1.5

GitOrigin-RevId: db1fb6f0150b67785760726d9c681703061d729d
2026-04-22 08:05:40 +00:00
jmescuderowritefull
21cb9ae9f6 fix: feedback on new plan's UI (#32933)
GitOrigin-RevId: 13241af3fc39c67b7a815ac89f2489f778a7a6f1
2026-04-21 08:06:38 +00:00
Mathias Jakobsen
32255a4e6f Merge pull request #32936 from overleaf/mj-ce-themes
[web] Enable changing overall themes in SP/CE

GitOrigin-RevId: a6aa35e40826faec1001b658603b9f1cc8b0a50d
2026-04-21 08:06:31 +00:00
Eric Mc Sween
628e05a278 Merge pull request #32884 from overleaf/em-editor-switch-by-filetype
[web] Split editor mode preference by file type

GitOrigin-RevId: 2574623c9c1c88cc66de72c19cffb4428a632e96
2026-04-21 08:06:23 +00:00
Malik Glossop
99f1551e4b Merge pull request #32754 from overleaf/mg-native-context-shortcut
Allow Shift+right-click to use native browser context menu

GitOrigin-RevId: 0455283e47511e6e770d389c5cc6994018766f74
2026-04-21 08:06:19 +00:00
Mathias Jakobsen
1110172597 Merge pull request #32927 from overleaf/mj-themed-project-page-teardown
[web] Tear down new-user-system-overall-theme split test and themed-project-dashboard feature flag

GitOrigin-RevId: fe947a603266166332b73a5707bb6cbc9e3d03b9
2026-04-21 08:06:08 +00:00
Domagoj Kriskovic
4567ffea41 [web] error handling for BibTeX entry addition using \cite
GitOrigin-RevId: efdf39a959fda7d2f970860051e1fabd72474ab1
2026-04-21 08:05:54 +00:00
Domagoj Kriskovic
415db24ba4 [web] Add PythonExecutionContext with per-file output buffers (#32737)
* [web] extract PythonExecutionContext and PythonRunner to manage pyodide execution per file

* [web] define worker URL in python execution context in order to avoid breaking cjs-based tests

* [web] use null check for doc contents to allow running empty python files

* [web] flush buffered editor ops before refreshing snapshot for python execution

* [web] catch getExecutionContext errors in python runner to prevent unhandled rejections

* [web] add PythonRunner unit tests and extract shared WorkerMock

* refactor: rename snapshot to state in PythonRunner

* fix: remove unnecessary path normalization in PythonExecutionProvider

* fix cypress tests

GitOrigin-RevId: 9c55586d982fe8df5b90374227005c6b83e94d1f
2026-04-21 08:05:50 +00:00
Mathias Jakobsen
e30a2a5beb Merge pull request #32925 from overleaf/mj-editor-redesign-new-users
[web] Remove unused split test from web

GitOrigin-RevId: 329c98a1072a3a64923371641069c45552da5eaa
2026-04-21 08:05:39 +00:00
Mathias Jakobsen
1ac1410b3b Merge pull request #32901 from overleaf/mj-tabs-context-menu
[web] Add custom context menu for tabs

GitOrigin-RevId: 5ca997bde0c881ad3ba80092915d341f03c609a8
2026-04-21 08:05:35 +00:00
Maria Florencia Besteiro Gonzalez
df3f50d10b Merge pull request #32825 from overleaf/mfb-autocomplete-component-design-review
[web] Autocomplete component design review fixes

GitOrigin-RevId: f598f46a770c94512de5beddb8ff1997df354fae
2026-04-21 08:05:30 +00:00
Olzhas Askar
050f00a4b5 Merge pull request #32553 from overleaf/oa-verify-prices
[web] Verify upcoming price changes

GitOrigin-RevId: c57af634be7360cf108d987c88307e187a7c3e50
2026-04-21 08:05:26 +00:00
Mathias Jakobsen
4173c98c48 Merge pull request #32892 from overleaf/mj-history-file-metadata
[history-v1] Add missing properties to zod schemas

GitOrigin-RevId: e16faf56a9b294516152383585493b38685b8d15
2026-04-21 08:05:22 +00:00
Jakob Ackermann
4ce5620b1d [web] add metrics for mongo access in split test system (#32920)
GitOrigin-RevId: cd93401bace60c003a63914e2898cf1f0defdabc
2026-04-21 08:05:14 +00:00
Jakob Ackermann
ad79c85cea [web] collect mongo stats on native client (#32909)
* [metrics] mongo: fail when command monitoring is not available

* [metrics] mongo: add optional client label to pool metrics

* [web] collect mongo stats on native client

* [metrics] mongo: record namespace of find commands

* [metrics] mongo: add counter for all the commands with collection label

* [web] add missing mock

GitOrigin-RevId: 9f378d8aa8d7167f56cf512681d63ef115c6dd98
2026-04-20 08:05:44 +00:00
Eric Mc Sween
26820bc327 Merge pull request #32817 from overleaf/em-account-level-library
[web] Add library page with navbar and sidebar layout

GitOrigin-RevId: b27f8e5dca13bae0cab83a919097c927a025e028
2026-04-20 08:05:40 +00:00
Jessica Lawshe
2da03f115f Merge pull request #32704 from overleaf/jel-domain-verify-copy-token
[web] Add component to render and copy domain verification token

GitOrigin-RevId: 36fcc8ef63208b6eb83a2e0f4360eb74a3a0af56
2026-04-20 08:05:26 +00:00
Tim Down
8a4b1186fc Add feature comparison table to 2026 pricing page (#32876)
* Add feature table translation strings

* Add feature comparison table config, types, and unit tests

Adds plans-features-table.mjs (8 sections, 25 rows, 5 plan columns) with
PlanTypesFeatureTable type, FeatureTableColumnHeader types, and 18 unit tests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add feature comparison table template and styles

* Add logos row to 2026 pricing page

* Accessibility improvements to 2026 pricing page suggested by Claude

* Stylelint appeasement

* Fixes from Copilot review

* Remove duplicate translation string

* Appease Prettier

* Non-ideal solution for pricing features table on mobile

* Make features table same width as cards container on new pricing page

* Increase spacing between cards and features table in new pricing page

* Remove help cursor from integration icons

* Add trademark symbol to FedRAMP

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

* Hide features table header cell overflow

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 6d6c661c9d682b86bd33886a518da25f9ab6e372
2026-04-20 08:05:10 +00:00
Malik Glossop
99c8bd2e1c Merge pull request #32877 from overleaf/mg-fix-bom-applyerror
Preserve UTF-8 BOM when fetching blobs in ProjectSnapshot

GitOrigin-RevId: 758156f8c9ac1d02b5ea06447f759012118e1905
2026-04-20 08:05:06 +00:00
Domagoj Kriskovic
ecda482213 add JSDoc comments for FileWriter methods and promises
GitOrigin-RevId: a7b2229b12973a8ebf4a1d6b94159efbd63df02a
2026-04-20 08:04:58 +00:00
Domagoj Kriskovic
d396c6d722 [ds-mobile-app] add support for file upload
GitOrigin-RevId: d874439a7a8a820324e0568fc2eec2c78d72cadc
2026-04-20 08:04:39 +00:00
Jakob Ackermann
78adc2ae18 [monorepo] Try to get make install working in copilot (#32800)
* [monorepo] move building of nginx proxy into Makefile

* [v1] add fake-secrets.env

* [github] add copilot-setup-steps.yml workflow

* [make] debug permissions

* [monorepo] use the host uid/gid for monorepo service

* [web] populate DOCKER_USER for test_frontend_ct

* [github] run npm install outside docker in Copilot sandbox

* [monorepo] add comment for building nginx-proxy image locally

* [monorepo] change uid/gid of node user in cypress image

* [monorepo] low-level rewrite of passwd and groups to match host user

GitOrigin-RevId: d74a5801f0318bab7e7f460374255426706002a3
2026-04-20 08:04:35 +00:00
Antoine Clausse
e301030c09 [web] 2026 pricing page: FAQ and quotes (#32759)
* Rename _faq_new.pug to _faq.pug

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add 2026 plans page FAQ templates

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Wire up quotes and FAQ section in plans_2026.pug

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Update styles, quote component, and translations for 2026 plans page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix missing accordion icon wrapper in last FAQ item

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fixup: rename `.card-pattern-sides` back to `.card-pattern`

* Create SASS placeholder and mixin

Suggested by Tim

* Fixup quote style

* Update spacings to match Figma

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
GitOrigin-RevId: 2f4e284038d79157d2b029a967918077bb206032
2026-04-20 08:04:30 +00:00
Brian Gough
b918e23419 Merge pull request #32780 from overleaf/bg-history-v1-check-chunk-script
add script for checking chunks with resyncs

GitOrigin-RevId: bf17bf262cf0a691a66c0d23256d53b606007461
2026-04-20 08:04:27 +00:00
Andrew Rumble
aa023b011d Merge pull request #32700 from overleaf/ar-node-forge-greater-than-1.4.0
[monorepo] install node-forge greater than 1.4.0

GitOrigin-RevId: 9004815d2964f2d6efe5b9d43b3ef51f4a1e879b
2026-04-20 08:04:19 +00:00
Jakob Ackermann
53e6da5e98 [monorepo] make format_fix/lint_fix easier to use (#32865)
* [monorepo] run npm install before top-level lint/format

* [monorepo] extend lint_fix for web

* [monorepo] bin/run: silence docker compose

We do not need it to print the newly created containers name.

* [monorepo] run format:fix

* [monorepo] run all the tasks or services/web/lint_fix_other in docker

GitOrigin-RevId: 997b360d1136f466c8e6bf8c5ad0e1189406d1f1
2026-04-17 08:07:12 +00:00
Jakob Ackermann
d56477565c [web] deduplicate getting the project when loading the editor (#32762)
* [web] enable async local storage on all the endpoints

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

* [web] deduplicate getting the project when loading the editor

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

* [web] use ProjectAccess state for computing analytics segmentation

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

* [web] restore ownership of active flag and deferredTpdsFlushCounter

* [web] add missing await

* [web] update unit tests

* [web] add metrics for project access caching

* [web] add missing test mock

* [web] invalidate async local storage when changing project access

* [web] deduplicate project lookup when checking for token access

* [web] add helper function for getting cached ProjectAccess

* [web] add acceptance test for caching of ProjectAccess

* [web] account for saas-only project access in tests

* Revert "[web] enable async local storage on all the endpoints"

This reverts commit 1b82f3b935040e8cfd180d1f6bf4183a655580e2.

* [web] add async local storage to project endpoints in top-50

* [web] invalidate async local storage for project access from modules

Co-authored-by: Jessica Lawshe <jessica.lawshe@overleaf.com>

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
Co-authored-by: Jessica Lawshe <jessica.lawshe@overleaf.com>
GitOrigin-RevId: 3eea7956b24e6f937dc1c17948681063d4dca3ea
2026-04-17 08:07:08 +00:00
Jakob Ackermann
6117feef1b [chat] clone comment threads when cloning project with ranges (#32852)
* [project-history] add best effort flush when cloning project

* [web] update labels in clone project modal for admins

* [project-history] do not shadow history flush failure

* [web] fix accessible label for 'Add comment' button

* [chat] clone comment threads when cloning project with ranges

GitOrigin-RevId: ef30204c8a94b3d6204d56dcca2f62a46319996b
2026-04-17 08:07:03 +00:00
Jakob Ackermann
933c0c2943 [web] use default nav-bar color for admins in dev-env (#32798)
GitOrigin-RevId: e3608ce699ac38ef33805618df456c94c6bf587b
2026-04-17 08:06:59 +00:00
Jimmy Domagala-Tang
d35035c00e Add Feature Usage to user admin page (#32117)
* feat: adding table for feature usage to user admin panel

* Update services/web/modules/admin-panel/app/src/UserAdminController.mjs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: 046731568a52a2d14806f58b677f6b51b470e4bc
2026-04-17 08:06:55 +00:00
Antoine Clausse
b746926ba7 [web] Address design feedback on pricing cards (#32844)
* Add AI allowance tooltip copy and wire into plans feature comparison

Adds per-tier tooltip strings for basic, increased, and max AI
allowance. Splits the ai_allowance feature entry in the individual and
student plan configs into separate per-tier objects so each can carry
its own featureExplanation key.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix plans page styling: section padding, badge line-height, checkbox accent-color

- Replace padding-block shorthand with explicit start/end on
  .plans-and-pricing-section to avoid overriding the bottom spacing
- Add missing line-height to .price-plan-card-badge
- Add accent-color to .plans-educational-discount-checkbox

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Only render geo-banner-container when there is content

Previously, .geo-banner-container was always rendered even when no
banners or errors were present, which introduced an unnecessary empty
wrapper in the DOM. Also moves the payment error conditions to be
top-level siblings (removing the `if paymentError` indirection) to
make each case independently explicit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Migrate plans page to .plans-2026 gap-based layout

Replaces .plans-new-design's per-section padding rules with a single
flex column + gap on .plans-2026, letting the layout engine handle
spacing uniformly. Removes the now-redundant .plans-and-pricing-section
padding block, .plans-cards-content padding, and
.plans-new-design-content-spacing class from the heading row.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
GitOrigin-RevId: 3a112c46759419ef0bc994dfb88498fc19b18c10
2026-04-17 08:06:36 +00:00
Andrew Rumble
b115edc0a5 Merge pull request #32505 from overleaf/ar-remove-several-usages-of-request
[web] remove several usages of request

GitOrigin-RevId: d6259bd47342f6ca4ab6ed6fc71b58f4b4962eee
2026-04-17 08:06:16 +00:00
Thomas
fb7846398c Merge pull request #32573 from overleaf/upgrade-svgo-latexqc-32090
[latexqc] Upgrade cssnano to 7.1.4 to fix svgo DoS vulnerability

GitOrigin-RevId: bab389b990f6c316f45f0a586ff52df6dd43673c
2026-04-17 08:06:01 +00:00
roo hutton
c02ba36b83 Merge pull request #32594 from overleaf/rh-cio-migration-mapping
Add customer.io fields for migration comms and marketing initiatives

GitOrigin-RevId: f11ffee255d9582cbfd4c7e285bd6690c0cf1e3c
2026-04-17 08:05:47 +00:00
Mathias Jakobsen
cae558af69 Merge pull request #32779 from overleaf/mj-project-history-bug
[project-history] Fix broken ranges from history resync

GitOrigin-RevId: c839e1d187768b7ce3411d06f78f017ebf7fec6e
2026-04-17 08:05:42 +00:00
Chris Dryden
e3ebc52334 Merge pull request #32781 from overleaf/cd-expose-project-files-to-python-output
Cd expose project files to python output

GitOrigin-RevId: 410964cc27dd87e795ccb77365dda8344d72f8bf
2026-04-17 08:05:38 +00:00
Malik Glossop
e84d195ece Merge pull request #32783 from overleaf/dependabot-npm_and_yarn-axios-1.15.0
Bump axios from 1.13.5 to 1.15.0

GitOrigin-RevId: 83e0cc61850f078784056ae9a7425e5bf27d0341
2026-04-17 08:05:34 +00:00
Mathias Jakobsen
2b77e92d5b Merge pull request #32840 from overleaf/mj-docx-copy
[web] Finalise copy for docx import

GitOrigin-RevId: de0331483752ca1f8e8f1ac78639820b7b738c15
2026-04-17 08:05:26 +00:00
Daniel Kontšek
b7ee046025 Merge pull request #32827 from overleaf/dn0-bump-redis-dev-dockerfile
Bump dev Redis from 7.4.3 to 7.4.8

GitOrigin-RevId: 69d69bc7f14454a8a6512cc75cd5329050ce79f2
2026-04-17 08:05:21 +00:00
Andrew Rumble
d0c623d266 Merge pull request #32750 from overleaf/ar-serialize-javascript-7.0.5
[monorepo] serialize javascript 7.0.5

GitOrigin-RevId: 606dc65b0ce21d708ca4118fe5505483f1e927c7
2026-04-16 08:06:22 +00:00
Jakob Ackermann
5a5763884e [github] code spaces: tweaks from initial feedback (#32834)
* [github] code spaces: add more standard users with a common password

* [github] code spaces: automatically share dev-env with Overleaf org

* [github] code spaces: merge split tests rather than replacing them

* [github] code spaces: ts-check the setup script in web

GitOrigin-RevId: 1a86ac7e0304d47e68290352f58a0e193eed1d77
2026-04-16 08:06:10 +00:00
Miguel Serrano
233fb7841e [web] Add option to send survey to enterprise plans (#32721)
* [web] Add option to send survey to enterprise plans

GitOrigin-RevId: ccf3760a7443fdf1a21231592e3cb661fd8e1af1
2026-04-16 08:05:54 +00:00
Kristina
5c92f85d51 [web] track email notification settings interactions (#32719)
* send setting-changed event
* emit event for global mute notifications

GitOrigin-RevId: 0705ffc331185e0f49fa1103e856040548d4f8bf
2026-04-16 08:05:45 +00:00
Kristina
a1ddb69247 [web] track email notification sent and email link clicked (#32715)
* emit email-notification-sent event
* use UTM tags to track email link clicks
* do not include utm_id on session at registration

GitOrigin-RevId: 24091bf8923fa11b8ba5ebfc63a0cea5c0f9f40c
2026-04-16 08:05:40 +00:00
Kristina
21ea6ab989 [web] open project notification settings from URL (#32689)
GitOrigin-RevId: 8d6e1c2d7cb63c1597d952d546121f030b79d126
2026-04-16 08:05:36 +00:00
Jakob Ackermann
be2e875bc5 [web] gracefully handle old history resyncs without origin (#32822)
GitOrigin-RevId: 6e9d878234fea8bdb74534b1f23ee127e5c2daaf
2026-04-16 08:05:31 +00:00
Jakob Ackermann
3dc8899334 [web] add admin page for project history failures (#32751)
GitOrigin-RevId: c9564e07239b761851c9a86894f9ef3023dfcf2b
2026-04-15 08:05:57 +00:00