Commit Graph
4975 Commits
Author SHA1 Message Date
David Rotermund a83e54034f Reference picker 2026-07-17 18:03:36 +02:00
David Rotermund 463e4d5034 Zotero Integration (#164) 2026-07-17 18:01:56 +02:00
Jakob Ackermann 1b553c0455 [migrations] only apply non-blocking migrations in CI (#34665)
* [migrations] only apply non-blocking migrations in CI

* [migrations] use "yarn run migrations" instead of "npm run migrations"

GitOrigin-RevId: d9f96db398adf2febcd82333295fb8d5eab741bb
2026-06-26 08:08:05 +00:00
Mathias Jakobsen 75f7f82a3f Merge pull request #34923 from overleaf/mj-left-menu-field
[web] Clean up "left menu" concepts in new editor

GitOrigin-RevId: 9597c1c53af15f3a1587e62176bca36cd7c9069c
2026-06-26 08:07:10 +00:00
Kate Crichton 9034e81c9b Merge pull request #34508 from overleaf/kc-email-admin-domain-reverification-failed
[web] email group admin when domain reverification failed

GitOrigin-RevId: d885f26b1b39184c25133f70024a72af66fa2d69
2026-06-26 08:07:01 +00:00
Jessica Lawshe 6c9b4aa498 Merge pull request #34768 from overleaf/jel-email-when-domain-verified
[web] Email group admin when domain is verified

GitOrigin-RevId: 5f8bc6187c561067d16863d3586a94ef498f3bdf
2026-06-25 08:06:22 +00:00
Tim Down 3e29ce839f Merge pull request #34602 from overleaf/td-stripe-3ds1-redirect
Fix for Stripe redirecting to incorrect page

GitOrigin-RevId: ac90b2e501c4bf5f2738d61866ea72ba861e5539
2026-06-25 08:05:54 +00:00
ilkin-overleaf 13bc31cf25 Merge pull request #34870 from overleaf/ii-share-modal-group-sharing
[web] Make group project sharing available to Group Professional plans only

GitOrigin-RevId: ced66529818d573cfd20cef016ed4b3aafdd8d51
2026-06-25 08:05:50 +00:00
ilkin-overleaf f536b39b03 Merge pull request #34627 from overleaf/ii-share-modal-improvements
[web] New share modal improvements

GitOrigin-RevId: d8b47a6294f8d7e4833130fd2bb1720bfe2357d8
2026-06-25 08:05:45 +00:00
roo hutton 0fab15c58e Merge pull request #34730 from overleaf/rh-tax-id-verify
Validate tax ids and send emails on failed verification

GitOrigin-RevId: 84d53fdaf00d7b23ced22dd540a071e3028ced93
2026-06-25 08:05:34 +00:00
Jakob Ackermann a8b4f2dc55 [web] reduce mongo lookups for compile requests (#34890)
* [web] _getUserCompileLimits: use owner.analyticsId directly

* [web] deduplicate project lookups for compile requests

* [web] add test case for prefetched project

GitOrigin-RevId: 0e140619c874accf8673153ed90af2ce70cf9234
2026-06-24 08:06:18 +00:00
Mathias Jakobsen 795ba4cd41 Merge pull request #34655 from overleaf/mj-ai-error-assistant-ide-redesign-cleanup
Clean up ai error assistant  style after editor redesign

GitOrigin-RevId: 8ca0747a567fe8f46b4d76886cd0723e1721ced1
2026-06-24 08:05:58 +00:00
Mathias Jakobsen fe52c3df12 Merge pull request #34872 from overleaf/mj-bulk-review-permissions
[web] Hide bulk track change actions for reviewers

GitOrigin-RevId: f636f4c82fdfb43a6dedf1abbb3cc53805eab7f8
2026-06-24 08:05:53 +00:00
Jakob Ackermann 1cc18dd0f0 [web] avoid UserAnalyticsIdCache for split-test assignments (#34803)
* [web] split-tests: add helpers to using an already fetched mongo user

* [web] split-tests: add ignoreOverrides option to getAssignment

* [web] split-tests: reuse already fetched mongo users where possible

* [web] notifications: fetch users in bulk for split-test assignment

* [web] split-tests: use session for assignment where possible

* [web] split-tests: pass req/res down into domain-capture hook

* [web] split-tests: explicitly throw early

* [web] split-tests: refine jsdoc types

* [web] mark analyticsId and labsProgram as required in user model

* [web] split-tests: refine jsdoc types

* Revert "[web] split-tests: pass req/res down into domain-capture hook"

This reverts commit 897a158384cd2b3e416fc34495b20d1e2a0e68f0.

GitOrigin-RevId: ea4afd15c2506f369827b5193fd16d220d3c7d0e
2026-06-23 08:06:42 +00:00
Jakob Ackermann 88267716a3 [web] adopt free/premium compile backend class (#34846)
* [web] adopt free/premium compile backend class

* [rails] adopt free compile backend class for pdf conversion

GitOrigin-RevId: e12c99a27363f5654132c2fcdc6c5d8ccc591868
2026-06-23 08:05:59 +00:00
Brian Gough 23dca72cd3 Merge pull request #34843 from overleaf/bg-add-compile-timer
add timer for compile with checkpoints

GitOrigin-RevId: ec758d34594f242a5cac8192233bfe2db783e42a
2026-06-23 08:05:55 +00:00
Brian Gough b1ed38c2d0 Merge pull request #34761 from overleaf/bg-enable-clsi-checkpoints
adds enableCheckpoint to compile requests from web to clsi

GitOrigin-RevId: 431b28602091cf8f7252ad836f083c7b092351d4
2026-06-23 08:05:50 +00:00
Jakob Ackermann 3be2f320f8 [web] fix preference of new/old clsiServerId in double-compiles (#34862)
GitOrigin-RevId: 81cbbcec9fef79ebd0c5e7d90048fc4bda302108
2026-06-23 08:05:42 +00:00
Mathias Jakobsen e0cfb07f60 Merge pull request #34698 from overleaf/mj-context-menu-tracked-changes
[web] Add tracked changes options to context menu

GitOrigin-RevId: b49198c6c2c63063d96ace69f10b617ac819bb04
2026-06-23 08:05:33 +00:00
Copilot ea1871b0df Use Ctrl+Shift+C for the add-comment shortcut while keeping Cmd+Shift+C active (#32624)
GitOrigin-RevId: 5fdf9ae7dd0fa194c3ac6acf9abb70ac9721fd2e
2026-06-19 08:05:48 +00:00
Mathias Jakobsen 5f79c2dd10 Merge pull request #34512 from overleaf/mj-floating-toolbar-option
[web] Add setting for floating toolbar menu

GitOrigin-RevId: bd28f1f287f2011535c7fd530f1217f01e0cfbbc
2026-06-18 08:07:33 +00:00
MoxAmber ad9b28af18 Merge pull request #34537 from overleaf/ii-share-modal-invited-people
Show "No one invited yet" instead of "1 person invited" for solo projects

GitOrigin-RevId: 0423b507e0574dc5a381cbe4044912a25af7a3f0
2026-06-18 08:06:48 +00:00
MoxAmber a7a3ccdb71 Merge pull request #34639 from overleaf/as-link-sharing-editinvitecount
[web] Ignore reuable invites (aka sharing links) when checking edit invite count

GitOrigin-RevId: 355ec6e6b2d5d497392fe1bdc04e68ad80349518
2026-06-18 08:06:44 +00:00
roo hutton 1dfe6e60b3 Merge pull request #34534 from overleaf/rh-rm-recurly
[web] Remove conditional Recurly checkout page

GitOrigin-RevId: 5bb773080bba682628f0f5428c72b7dff75b6015
2026-06-18 08:06:17 +00:00
Antoine Clausse 0d004926e6 [web] Cleanup plans-2026-phase-1 - phase 1: frontend (#34619)
* Remove `plans-2026-phase-1` from frontend in subscriptions module

* Remove `plans-2026-phase-1` from general frontend

* Remove empty `AiErrorAssistantPaywall`

* Simplify `UpgradeNotification`

* Update translations

* Fix tests

* Remove `OverleafAssistPaywall`

* Remove unused locales

GitOrigin-RevId: 4cf04bbde134a3f7b778a0695d388f31d9765343
2026-06-18 08:06:01 +00:00
Jakob AckermannandAndrew Rumble 6323fddbd8 [web] avoid UserAnalyticsIdCache (#33121)
* [web] always provide an analyticsId when registering new users

* [web] add recordEventForMongoUser and use it during login

* [web] use recordEventForMongoUser/recordEventForSession where possible

* [web] use session cache for analyticsId when refreshing features

* [web] add setUserPropertyForMongoUser and use it where possible

* [web] use setUserPropertyForSessionInBackground where possible

* [web] use mongo user for analyticsId when setting utm user properties

* [web] admin-panel: user updated user when sending events

* [web] enforce labsProgram being populated on user object

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

* [web] revert FeaturesUpdater.refreshFeatures change

* [web] labs: move session maintenance into handler

* [web] analyticsMiddleware: ensure that all users have labsProgram field

* [web] migrate a few more events to recordEventForSession

* [migrations] mark back-fill of db.users.analyticsId as required

* [web] setUserPropertyForSessionInBackground: throw early

---------

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: 19c26bc36abd8c11f0a8f458d25abfb7cbda0bb7
2026-06-17 08:08:32 +00:00
Anna Claire Fields 7035a2e025 Revert "Acf pnp migration master" (#34709)
GitOrigin-RevId: ec7d63e1212e05dd6dfc7a0ddf785c11eca76ad6
2026-06-17 08:07:56 +00:00
Anna Claire Fields 8f07308342 Acf pnp migration master (#34040)
GitOrigin-RevId: 418eab9bc733f27a6e0f8f04a2a8e21c2f5a491f
2026-06-17 08:07:16 +00:00
Jakob Ackermann d44e862a0c [web] throw early in UserCreator.createNewUser with missing analyticsId (#34664)
* [web] throw early in UserCreator.createNewUser with missing analyticsId

* [migrations] rerun back-fill of db.users.analyticsId

GitOrigin-RevId: eabf16326192fca4dbea00ad643cee4315c426c6
2026-06-17 08:06:59 +00:00
Malik Glossop bf22bf9eed Merge pull request #34487 from overleaf/mg-fix-nested-context-menu
Block native context menu on editor context menu and fix focus styling

GitOrigin-RevId: c2d59e7acc59019b5e2777cc1bf3ad24a7d8e54e
2026-06-17 08:06:49 +00:00
Malik Glossop 8ef463f8b0 Merge pull request #34357 from overleaf/mg-combine-floating-menus
Add combined floating menu for comment, tracked changes, writefull

GitOrigin-RevId: 4de5b9d3b1717fc76394f7c0edfe4d7230394c8d
2026-06-17 08:06:44 +00:00
Rebeka DekanyandM Fahru 1f28eaecdb [web] Add Stripe acceptance tests (#34577)
* Add StripeClient mock-target support and Stripe test settings

Co-Authored-By: M Fahru <m.fahru@overleaf.com>

* Add Stripe payment page acceptance tests

Co-Authored-By: M Fahru <m.fahru@overleaf.com>

* Add MockStripeApi for stateful Stripe acceptance tests

Co-Authored-By: M Fahru <m.fahru@overleaf.com>

* Add Stripe subscription acceptance tests

* Add Stripe webhook acceptance tests

* Use a helper for setting the subscription status

---------

Co-authored-by: M Fahru <m.fahru@overleaf.com>
GitOrigin-RevId: b9bc50c914369da646ddb42ade1a02fd7baeb96b
2026-06-16 08:06:57 +00:00
Andrew Rumble d22cea01ce Merge pull request #33404 from overleaf/copilot/fix-accepts-language-deprecation
Fix deprecated req.acceptsLanguage → req.acceptsLanguages in Translations.mjs

GitOrigin-RevId: db9f09d999158ba5f9f084bc1a8334954a55cd79
2026-06-16 08:06:29 +00:00
roo hutton efd12c8feb Merge pull request #34484 from overleaf/rh-ol-stripe-id
Sync updated customer email to Stripe/Recurly

GitOrigin-RevId: b2becc50cc63739bdf56e45c37939f84c6fcd7a8
2026-06-16 08:05:58 +00:00
Jakob Ackermann d5384d9fdb [web] add LRU cache for geoip details (#34521)
GitOrigin-RevId: 0c96b53228b3e4fd764ac09e029db8b3f2b45de7
2026-06-15 08:07:55 +00:00
MoxAmber 886985d91c Merge pull request #33717 from overleaf/as-new-link-sharing-pass-groups
[web] Pass project owner link sharing settings to frontend

GitOrigin-RevId: ff000f38ef36a3d448a2934d0c5963139852eee2
2026-06-12 08:06:12 +00:00
Jessica Lawshe ea8cc47ee2 Merge pull request #34330 from overleaf/jel-web-save-captured_by_group
[web] Send email alert when domain is captured or not

GitOrigin-RevId: 5554d82653be3226e5d72a0e42ca8aaa9a9b8f41
2026-06-11 08:05:44 +00:00
Brian GoughandCopilot Autofix powered by AI da85973cca add script for uploading a file to a project (#33874)
* add script for uploading a file to a project

* fix default source name in script

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

* reject folders as an upload destination

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

* validate destination path when normalizing

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: 4a6ce79652074475fc2065156718a23156e8b0bd
2026-06-11 08:05:29 +00:00
Rebeka Dekany 5a821a055b Show tax note conditionally and update zero-tax disclaimer wording (#34454)
* Hide tax note when tax is included and update zero-tax disclaimer wording

* fix: update taxes_may_be_added key in all non-English locale files

GitOrigin-RevId: 9cd0e0aba6d548221e97d383b0a2e52a2e0a077c
2026-06-10 11:59:06 +00:00
Olzhas Askar 5ae13ef025 Merge pull request #34374 from overleaf/oa-extend-telemetry
[web] Extend paywall telemetry

GitOrigin-RevId: 20efca13734a3aafe70a56fee19b76c62503b828
2026-06-10 11:58:24 +00:00
Miguel Serrano c981330cc1 [web] Disabled AI state for project collaborators (#34256)
* [web] Disabled AI state for project collaborators

Displays a disabled state, along with an informative tooltip in Editor AI controls.

GitOrigin-RevId: a749cd25d54f6ef3d7bf4276343400894bc193a4
2026-06-10 11:58:01 +00:00
Miguel Serrano 4ab8de3e38 [web] Skip GeoIpLookup on CE/SP (#34348)
The regression was introduced in 487e1767b8ac531588a272f0492a900c24162b33.

GeoIp is not configured in CE/SP, yielding an error log when rendering the project list.

GitOrigin-RevId: 55410611a5fef95daa5914a31969893107777593
2026-06-10 11:57:51 +00:00
ilkin-overleaf c9e4ab8b99 Merge pull request #33166 from overleaf/ii-share-modal-copy-link
[web] Share modal copy sharing link button

GitOrigin-RevId: a95f879196528ec3bc998558a6838c52aac33069
2026-06-10 11:57:42 +00:00
ilkin-overleaf 952266da94 Merge pull request #33553 from overleaf/ii-share-modal-privileges-2
[web] Hook up project access controls and privileges to sharing link API

GitOrigin-RevId: 05407476340cabf1ab56a18008f9f3fa978b9d79
2026-06-10 08:06:55 +00:00
Antoine Clausse 998f3a598a [web] Remove deprecated welcome email (#34320)
It was replaced by `welcomeWithoutCTA` a long time ago

GitOrigin-RevId: 688edafcdaf6acb20cb12346335db480d4973159
2026-06-10 08:06:39 +00:00
MoxAmber 28210bcaeb Merge pull request #32111 from overleaf/as-new-link-sharing-backend
[web] Support link sharing using ProjectInvite

GitOrigin-RevId: 45d988dd6451f962f2709bb1e72a715570816d9c
2026-06-10 08:06:04 +00:00
Chris Dryden b90a8500d5 Merge pull request #34363 from overleaf/cd-migrate-python-runner-to-modules
Migrate the Python script runner into a closed python-runner module

GitOrigin-RevId: ac22f45bcf744c693591076f0b41e8d52249dcbf
2026-06-10 08:06:00 +00:00
Mathias Jakobsen 8a68f89a03 Merge pull request #34415 from overleaf/mj-file-tree-permanent-tabs
[web] Make tab permanent on file tree double click

GitOrigin-RevId: 8fe725eb3235e35d2070d806ad4f57e7f475d188
2026-06-10 08:05:41 +00:00
Jakob Ackermann 7f5af99ee9 [web] determine rootResourcePath if not set in compile request (#34398)
* [web] determine rootResourcePath if not set in compile request

This affects the following compile requests:
- compile request from "Download PDF" button on project dashboard
  Pre-resolving the rootResourcePath for all projects is too expensive.
  Adding an endpoint to resolve it is too slow and doubles project auth
  check.
- custom frontends
  Can't do much about these. I tried blocking them, requests still come
  in after weeks of returning 400s.

The rootDoc maintenance methods now return {rootResourcePath,rootDocId}
rather than just the rootDocId. This avoids an extra project lookup when
the rootDocId was updated.

GitOrigin-RevId: ab7c539b7ffd162bde0903fe1040a48834a245f5
2026-06-09 08:07:36 +00:00
Mathias Jakobsen 748bdfd59d Merge pull request #34395 from overleaf/mj-tabs-disable-close-button
[web] Disable close tab button on last tab

GitOrigin-RevId: 2d4600162696b07848311e75154d9d86aac0b315
2026-06-09 08:06:23 +00:00