Commit Graph

2308 Commits

Author SHA1 Message Date
Domagoj Kriskovic 220b19a5aa Update AI Assist wording on checkout page if not in rollout (#25689) (#25733)
* Update AI Assist wording on checkout page if not in rollout

* update wording when buyin addon

GitOrigin-RevId: 7133b4fd3efac8e8a7361dcc15d54367f809f16d
2025-05-20 08:05:36 +00:00
Kristina 4a95d91b32 [web] add support for previewing base plan changes for Stripe (#25619)
GitOrigin-RevId: 458eeac52bc5fc010b9749f6fcd48350aa792582
2025-05-20 08:05:31 +00:00
Domagoj Kriskovic 1e78d83443 Revert "Update AI Assist wording on checkout page if not in rollout (#25689)" (#25726)
This reverts commit 20a90b14e97b1a8837e8be697c1a9666ed15a1c3.

GitOrigin-RevId: 26d4ad8f1b3a7dbe884dfbe4f4be5ee632abed1e
2025-05-19 12:26:35 +00:00
Domagoj Kriskovic 1ebc5d37e2 Update AI Assist wording on checkout page if not in rollout (#25689)
* Update AI Assist wording on checkout page if not in rollout

* update wording when buyin addon

GitOrigin-RevId: 20a90b14e97b1a8837e8be697c1a9666ed15a1c3
2025-05-19 12:26:26 +00:00
Jakob Ackermann feebb77556 [web] fetch project members in a single db query (#25662)
* [web] fetch project members in a single db query

GitOrigin-RevId: ca749327d4783c67a3ad81f611cd7d3e7fa84028
2025-05-19 08:05:12 +00:00
Jakob Ackermann 7bfa5d312a [web] deletedDocs are not needed for joinProject anymore (#25654)
* [web] deletedDocs are not needed for joinProject anymore

* [web] cleanup unit tests

GitOrigin-RevId: 91c9bc60ec776757b3031cbc85c67ae1bf4adf4d
2025-05-19 08:05:08 +00:00
Jakob Ackermann 4d4c02f885 [web] fetch users subscriptions once from project dashboard (#25652)
* [web] fetch users subscriptions once from project dashboard

* [web] fix types

GitOrigin-RevId: 18de18f8d4237d97087ef92eaa5052f253a92813
2025-05-19 08:05:04 +00:00
Jakob Ackermann 8a49e01055 [web] wait for prefetching of projects listing (#25650)
GitOrigin-RevId: 59fb0c74b8cf6a496e256960f7f2e83ace2c5ee0
2025-05-19 08:04:59 +00:00
M Fahru a33b164096 Merge pull request #25404 from overleaf/mf-send-subscription-analytics-events
[web] Send analytics events and user properties when user start subscription using Stripe

GitOrigin-RevId: 9028397a5cb256df506e14beb1705191c9ae3f7f
2025-05-16 08:06:57 +00:00
Antoine Clausse bb1ca7dc57 Remove returns in functions with callback in CooldownManager (fix DeprecationWarning) (#25665)
GitOrigin-RevId: 3652ee78d533cb00ce5ec4de1a66a959ab418def
2025-05-16 08:06:33 +00:00
David 551298852f Merge pull request #25605 from overleaf/dp-track-changes-redirect
Redirect old track changes marketing page to track changes learn wiki page

GitOrigin-RevId: 890e7f746b71b8e5108e8209d55903f68adde1ea
2025-05-16 08:05:52 +00:00
Jakob Ackermann 608125f732 [web] use the common split-test for clsi-cache when cloning (#25644)
GitOrigin-RevId: 30377d69a9e1be11261eb6076f8996e71090fb9e
2025-05-16 08:05:07 +00:00
Jakob Ackermann 291dd2fa85 [clsi-cache] remove non sharded instances (#25645)
* Revert "[clsi-cache] only use sharding from updated project editor tabs (#25326)"

This reverts commit 1754276bed3186c0536055c983e32476cc90d416.

* [clsi-cache] remove non sharded instances

GitOrigin-RevId: aa3ac46140dfc1722a3350cf7071e5b11af61199
2025-05-16 08:05:02 +00:00
Jakob Ackermann fe58e65ba4 [clsi-cache] fix path traversal (#25585)
* [clsi-cache] fix path traversal

* [clsi-cache] double down on path traversal validation

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

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 28a6a2024aae81e9b361db7918dc0c5381cd8246
2025-05-14 08:06:54 +00:00
Jakob Ackermann ed16bd4410 [clsi-cache] base64 encode X-All-Files header if needed (#25579)
* [clsi-cache] base64 encode X-All-Files header if needed

* [clsi-cache] add explicit error check

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

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: bd3b6381b68398aac4a07e48cd69e6aa97e94f18
2025-05-14 08:06:49 +00:00
Alf Eaton 3ade5e27ac Remove the full-project-search split test (#25444)
GitOrigin-RevId: b36c1c81152694547dcf044cfb2cb0f511bfdc22
2025-05-14 08:06:31 +00:00
Jimmy Domagala-Tang 9aa325ff2d Merge pull request #25151 from overleaf/dk-use-user-features
UserFeaturesContext with cross-tab syncing via BroadcastChannel

GitOrigin-RevId: 4262719f5018f5717211851ce28b3255af65461a
2025-05-13 08:07:57 +00:00
Jimmy Domagala-Tang 29296dfba5 Merge pull request #25493 from overleaf/jdt-ai-assist-entitlement-fix
Access addOnCode correctly when determining bundle entitlement

GitOrigin-RevId: c3aee15b3ef6fc1d32f24283ec848e600f0777f1
2025-05-13 08:06:59 +00:00
Jimmy Domagala-Tang c54c814553 Merge pull request #25405 from overleaf/jdt-wf-rebrand-popover
Writefull Rebranded Features Editor Promotion

GitOrigin-RevId: 49beddbfa44bacf1546543e172dc8edcdb3784bc
2025-05-13 08:06:50 +00:00
Domagoj Kriskovic a47d0309b8 Fix monthly price if billed annually for AI Assist (#25297)
* Fix monthly price if billed annually for AI Assist

* update script

* show annual price

* fix formatting

GitOrigin-RevId: e50493fa2176e6c8acb476a01a393eb940a3f1a2
2025-05-13 08:06:39 +00:00
Kristina a99f16ed15 [web] prevent downgrade to personal upsell for stripe subscriptions (#25392)
GitOrigin-RevId: a954f42e1159e4bcc8fd06f5f6df9a53c67f9f90
2025-05-13 08:06:05 +00:00
Liangjun Song da241e0041 Merge pull request #25329 from overleaf/ls-enable-stripe-checkout-for-group-plan
Enable stripe checkout for group subscriptions

GitOrigin-RevId: 10a579ebca789773bd2c94f8240b7b979b6e8eb0
2025-05-13 08:05:32 +00:00
Jakob Ackermann 6244616fc1 [web] avoid trying to fetch synctex.gz from clsi-cache in free projects (#25445)
* [web] avoid trying to fetch synctex.gz from clsi-cache in free projects

* [clsi] parse boolean query parameter

GitOrigin-RevId: 99c98aac8147a626b704e9a888b7fc660cc5ab17
2025-05-12 08:05:24 +00:00
M Fahru 031bd4a1c4 Merge pull request #25372 from overleaf/kh-support-canceling-pending-stripe-change
[web] cancel pending Stripe subscription change

GitOrigin-RevId: c1d21a7d1c3962c20d589b1dd10f6c2a4c8e4be4
2025-05-09 08:06:22 +00:00
Jakob Ackermann 28bb8ed2ab [web] retry fetching initial compile from cache response (#25436)
* [web] move building of compile from cache response into manager

* [web] retry fetching initial compile from cache response

GitOrigin-RevId: b4dc89f1b91d99e869c0c7789881dc72d8a5761f
2025-05-09 08:05:55 +00:00
ilkin-overleaf 727e88b18b Merge pull request #25318 from overleaf/ii-flexible-licensing-manually-collected-3
[web] Add seats feature for manually collected subscriptions improvements

GitOrigin-RevId: 4fbd93097590d97ad6464d1988471a78bf7cb9e2
2025-05-09 08:05:07 +00:00
M Fahru 38e06c527c Merge pull request #25296 from overleaf/kh-support-upgrading-stripe-subscription
[web] support upgrading Stripe subscription

GitOrigin-RevId: 2663ca8f1c028a45cf47d3ab37c387c4f4b39f9a
2025-05-08 08:06:47 +00:00
M Fahru e5e4159392 Merge pull request #25289 from overleaf/kh-rm-dead-coupon-code
[web] rm unused couponCode parameter

GitOrigin-RevId: c8c262322d74214e43870e67758aaa98aaa60c79
2025-05-08 08:06:42 +00:00
Jakob Ackermann e94369cb72 [web] settle on a single split-test for the clsi-cache rollout (#25399)
* [web] settle on a single split-test for the clsi-cache rollout

Use the split-test that was used for rolling out the writes so that we
can use their already populated caches.

* [clsi-cache] fix non-sharded clsi-cache in dev-env

GitOrigin-RevId: 6ebd6369183342fe6d5e325b760d011fd1d57516
2025-05-08 08:06:37 +00:00
Jimmy Domagala-Tang f36eb35dbe Merge pull request #25090 from overleaf/jdt-align-wf-rebrand-split-test
Align Writefull bundle changes to same split test

GitOrigin-RevId: 28eb7c0835a38d4989461d941efc3e8c0cdcfecb
2025-05-08 08:06:04 +00:00
Jakob Ackermann e54d3c3e19 [history-ot] initial implementation of using doc-level history-ot (#25054)
* [history-v1-ot] initial implementation of using doc-level history-v1-ot

* [web] fix advancing of the otMigrationStage

Use 'nextStage' for the user provided, desired stage when advancing.

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

* [document-updater] document size check in editor-core

* [history-ot] rename history-v1-ot to history-ot and add types

* [history-ot] apply review feedback

- remove extra !!
- merge variable assignment when processing diff-match-match output
- add helper function for getting docstore lines view of StringFileData

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>

* Revert "[document-updater] add safe rollback point for history-ot (#25283)"

This reverts commit d7230dd14a379a27d2c6ab03a006463a18979d06

Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

---------

Signed-off-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 89c497782adb0427635d50d02263d6f535b12481
2025-05-08 08:05:44 +00:00
Jakob Ackermann 554abf983f [web] use raw compile timeout in compile-result-backend event (#25141)
The alias was broken following the 60s -> 20s compile timeout change.

GitOrigin-RevId: c2172090e17be60490adaae245a1f0b045e93cf1
2025-05-08 08:05:14 +00:00
Antoine Clausse d389cca007 [web] Promisify ClsiCookieManager and CompileController (reapply again) (#25280)
* Reapply "[web] Promisify ClsiCookieManager and CompileController (reapply and fix)"

This reverts commit 98cb9127ff2b7c7c347c560766f749265d712490.

* Fix: Use query parameters correctly (!!)

* Add unit test on `checkIsLoadSheddingEvent`

* Remove interference between tests: rename to `ClsiCookieManager2` when it's re-sandboxed

* Add test: 'should report "cycle" when other is UP'

GitOrigin-RevId: 3146b149954b908830226cb03b51d9adfa08ec2e
2025-05-07 08:07:07 +00:00
Jakob Ackermann 2c67a76115 [clsi-cache] only use sharding from updated project editor tabs (#25326)
GitOrigin-RevId: 1754276bed3186c0536055c983e32476cc90d416
2025-05-07 08:06:39 +00:00
Jakob Ackermann bcceca0dbe [clsi-cache] shard each zone into three instances (#25301)
* [clsi-cache] shard per zone into three instances

Keep the old instance as read fallback. We can remove it in 4 days.

Disk size: 2Ti gives us the maximum write throughput of 240MiB/s on a
N2D instance with fewer than 8 vCPUs.

* [clsi] fix format

* [k8s] clsi-cache: bring back storage-classes

* [k8s] clsi-cache: fix reference to zonal storage-classes

* [k8s] clsi-cache: add logging configs

* [clsi] improve sharding

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

* [clsi] fix sharding

Index needs to be positive.

* [clsi] fix sharding

The random part is static per machine/process.

* [clsi] restrict clsi-cache to user projects

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

* [k8s] clsi-cache: align CLSI_CACHE_NGINX_HOST with service LB

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 1efb1b3245c8194c305420b25e774ea735251fb3
2025-05-07 08:06:16 +00:00
Tim Down 2c75028ad9 Merge pull request #25264 from overleaf/bg-td-account-deletion-logging
Add logging for each stage of user deletion

GitOrigin-RevId: 13f9575012fcd8f166c4b14eba2ee5910658072e
2025-05-05 08:05:36 +00:00
Mathias Jakobsen 75868a5454 Merge pull request #25127 from overleaf/mj-full-project-search-promotion
[web] Add promotion for full-project-search

GitOrigin-RevId: e102dbf7df8b63afc592c57ebf6dafa51efdf9ff
2025-05-05 08:05:23 +00:00
Mathias Jakobsen 18f2aa5a0c Merge pull request #25190 from overleaf/mj-survey-signup-limits
[web] Add options to limit survey exposure based on signup date

GitOrigin-RevId: 5719997339b5040d5cc42ffe7bee6d7b66bff12d
2025-05-05 08:05:18 +00:00
Jimmy Domagala-Tang 14af80b3be Merge pull request #25148 from overleaf/jdt-bundle-price-update
Update prices and naming for AI Assist bundle

GitOrigin-RevId: ece300a9d009a9e17594d3c052b33321c9b17f82
2025-05-02 08:06:10 +00:00
M Fahru 8b89c31eed Merge pull request #25166 from overleaf/kh-cancel-subscription
[web] support canceling Stripe subscription

GitOrigin-RevId: a72ccb20fbef9b6662cdfa1dcffacbd76dcb694c
2025-05-02 08:06:02 +00:00
Eric Mc Sween c4586cdd2e Merge pull request #25152 from overleaf/em-ds-mobile-app
Endpoints for DS mobile app

GitOrigin-RevId: c7cf867bde60a0293c1c9f68f5a08515d0d2e904
2025-05-02 08:05:57 +00:00
David 306b5d4f55 Merge pull request #25164 from overleaf/dp-editor-survey
Create Editor Survey

GitOrigin-RevId: dc11ef16c0a00aa846ac7a664dd88e9531e832f2
2025-05-02 08:05:47 +00:00
Antoine Clausse 19d012bcee Merge pull request #25221 from overleaf/revert-25207-ac-promisify-compile-controller-2
Revert "[web] Promisify ClsiCookieManager and CompileController (reapply and fix)"

GitOrigin-RevId: 4495b0fdee22c9c2a7eb39250aef498883389427
2025-05-01 08:06:55 +00:00
Antoine Clausse 42ae34e830 Merge pull request #25207 from overleaf/ac-promisify-compile-controller-2
[web] Promisify ClsiCookieManager and CompileController (reapply and fix)

GitOrigin-RevId: 0737f30c24bf92b33327dc7d0e015ac2cd7d751d
2025-05-01 08:06:47 +00:00
Miguel Serrano 828eef0407 [web] script to update group members via CSV (#24861)
* [web] script to update group members via CSV

GitOrigin-RevId: 973d1bdb1180af008608e14e1ff31af83e47f630
2025-05-01 08:06:27 +00:00
Antoine Clausse c0759da78e Merge pull request #25200 from overleaf/revert-25023-ac-promisify-compile-controller
Revert "[web] Promisify ClsiCookieManager and CompileController"

GitOrigin-RevId: 190ee8d2be23687f092e762c5199a34bcdf37cf9
2025-05-01 08:06:00 +00:00
Antoine Clausse 5106b8b54e [web] Promisify ClsiCookieManager and CompileController (#25023)
* Refactor `ClsiCookieManager` to use async/await

* Refactor `CompileController` to use async/await

* Fix tests: CompileControllerTests.js

* Fix tests: ClsiCookieManagerTests.js

* Fixup: keep old object key (`serverId`->`clsiServerId`)

* Prefix non-express methods with an underscore

* Use async versions of `rclient` methods

* Fix: `canContinue` must be `false` when rate limited (!!)

* Remove unused `ClsiCookieManager.getCookieJar`

* Remove bad comments

* Fix linting

* Replace `request` by `@overleaf/fetch-utils`

* Replace `callsFake` by `resolves`

* Update `catch` block after request->fetch update: check status code

* Re-add timeout of 30s (was removed in 3df75ab5ccc8a63bd69a6a6e6052ef0451b76220)

* `npm run format:fix`

* Don't throw on 4xx errors; keep functionality similar to the current implementation using `request`.

GitOrigin-RevId: ef161f6c252d13f407e9cf28029b62061d6b992f
2025-05-01 08:05:42 +00:00
ilkin-overleaf b066631019 Merge pull request #24412 from overleaf/ii-flexible-licensing-manually-collected-2
[web] Add seats feature for manually collected subscriptions

GitOrigin-RevId: f7cc6f8ce17163f10e175a06bb471de6e3a96e3c
2025-04-30 08:05:00 +00:00
Liangjun Song 8792153d4d Merge pull request #25117 from overleaf/ls-map-stripe-product-to-recurly-plan-code
Use metadata to map Stripe product to Recurly plan code

GitOrigin-RevId: 775eb39cedff81985fc72cb14d411575231ade8f
2025-04-29 08:06:28 +00:00
Mathias Jakobsen f86aca54ac Merge pull request #25060 from overleaf/mj-core-pug-bs5
[web] Convert various pug pages to BS5

GitOrigin-RevId: f42de89eca778db19d5faa8a19fa8a210c7a749b
2025-04-29 08:06:01 +00:00