Commit Graph

27892 Commits

Author SHA1 Message Date
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
Jakob Ackermann
7faa4c5db4 [project-history] normalize failure messages (#32748)
* [project-history] normalize failure messages

* [project-history] add tests for normalizing failure messages

GitOrigin-RevId: ec15fdba97215047067c10c3fd16ad64696af20b
2026-04-15 08:05:53 +00:00
Jakob Ackermann
5a6c066847 [web] allow admins to clone projects with ranges and entire history (#32739)
* [web] add consistent aria-label to editing/reviewing toggle

* [docstore] add endpoint for getting all docs with ranges

* [history-v1] fix schema of chunkId when deleting old history chunk

* [web] skip duplicate project lookup for resolving rootDocPath

* [web] ignore new limits for root doc path when making debug copy

* [web] allow admins to clone projects with ranges and entire history

* [web] fix tests

* [history-v1] re-order params for cloning project

* [web] fix duplicate import of logger after merge

* [project-history] re-order params for cloning project history metadata

GitOrigin-RevId: 7fa35b4f90885dd453150a348d491ba0ec8de412
2026-04-15 08:05:49 +00:00
Jakob Ackermann
917d2700c8 [web] use a global shared mock for the metrics module (#32799)
GitOrigin-RevId: 72874ba6c06c2a602b01cc029bc9c71ce3ce8892
2026-04-15 08:05:38 +00:00
Brian Gough
e9b50b08bf Merge pull request #32776 from overleaf/bg-record-file-source-in-filenames
record upload type in temporary filenames

GitOrigin-RevId: 83232be85ad58e03b1ce9da4bb7de54f7a7cfdb0
2026-04-15 08:05:34 +00:00
Mathias Jakobsen
3bf3264cfe Merge pull request #32313 from overleaf/ae-tab-icon
Add icons to file tabs

GitOrigin-RevId: 7b032c694c4f81e868e5811673b465179e10bae7
2026-04-15 08:05:30 +00:00
Mathias Jakobsen
d1ce54b513 Merge pull request #32794 from overleaf/mj-tab-scroll
[web] Allow scrolling with wheel in tab container

GitOrigin-RevId: af81825288387675bdac5d734041299126d3b44c
2026-04-15 08:05:26 +00:00
Olzhas Askar
b345bf9485 [web] Update captcha notice (#32286)
* feat: remove translations

* feat: remove scss

* fix: remove the last translation

* feat: remove pug

* fix: forgotten conditions

* feat: also remove from react

* Revert changes

* Remove links from `recaptcha_conditions`

* Center short reCAPTCHA notice on CIAM screens

* Re-add the Chinese translation

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 64e7b8a38c2a4b4f7e60d5c9df6740c35b8763d8
2026-04-14 08:05:15 +00:00
Antoine Clausse
0b99e8e029 Merge pull request #32545 from overleaf/ii-tooltip-flickering
[web] Fix tooltip show and hide

GitOrigin-RevId: 3dfb7189adc5339b635696c9e84bf714a9a353dd
2026-04-14 08:05:12 +00:00
Antoine Clausse
f8235e67e6 Merge pull request #32698 from overleaf/ii-tooltip-flicker
[web] Fix tooltip flickering

GitOrigin-RevId: 5a0756fb27671dbfa480a0d15d7fbb937aaebf47
2026-04-14 08:05:08 +00:00