Commit Graph

1891 Commits

Author SHA1 Message Date
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
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
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
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
Andrew Rumble
c2026d34b1 Use assert.fail instead of comparing false and true
GitOrigin-RevId: c6cbaf0a424771cf2a037366fccd790a13d9b1bb
2025-04-29 08:05:23 +00:00
Andrew Rumble
34ae228d99 Promisify tests
GitOrigin-RevId: 6f413f4c5ef8d034b4e94afacdf2d7b43c3a8830
2025-04-29 08:05:18 +00:00
Kristina
a926fd7dc5 Merge pull request #25082 from overleaf/kh-prevent-pausing-and-group-plans
[web] prevent pausing or upgrading to group for Stripe subscriptions

GitOrigin-RevId: 4d194339282d8bc165ffa1b89e8e1cf298c2d343
2025-04-29 08:05:09 +00:00
M Fahru
1af35faa5e Merge pull request #25065 from overleaf/mf-schedule-refresh-features-stripe
[web] Refresh user features for stripe subscripton

GitOrigin-RevId: e0600e80bfc264f2c0229090f0d5ff7ef845d28e
2025-04-25 08:05:49 +00:00
Kristina
ebc9139a36 Merge pull request #24922 from overleaf/kh-add-customer-portal-links
[web] add stripe customer portal link

GitOrigin-RevId: 6baaf51d4dd89ef779229ad17603529db06cf396
2025-04-24 08:05:44 +00:00
Kristina
5cef00a15f Merge pull request #24848 from overleaf/mf-save-stripe-checkout-data-to-mongo-db
[web] Save stripe checkout data to mongodb

GitOrigin-RevId: 537778a041f92f43ccf6455c29a56c7a961ce765
2025-04-24 08:05:40 +00:00
Jimmy Domagala-Tang
7b6fd9a24e Merge pull request #24697 from overleaf/jdt-show-addons-via-wf
Display When Ai Assist Is Granted Via Writefull

GitOrigin-RevId: 91f6e1843e2e1d1f7b3a49d95f31603e838c5545
2025-04-23 08:05:30 +00:00
M Fahru
80e07aab5d Merge pull request #24833 from overleaf/kh-add-stripe-get-subscription
[web] fetch Stripe subscription

GitOrigin-RevId: bffc31224aece584f4f1e3294bb1285d17f99195
2025-04-18 08:05:44 +00:00
Kristina Hjertberg
67c950fc4c [web] mv PaymentService to modules
GitOrigin-RevId: 73d739f53d96ff9e9d51a535907dbdc878aa6624
2025-04-17 08:05:58 +00:00
Jakob Ackermann
2825083ec8 [web] update the projects lastUpdated timestamp when changing file-tree (#24867)
* [misc] freeze time before any other unit test setup steps

Freezing it after other work (notably sandboxed-module imports) will
result in flaky tests.

* [web] update the projects lastUpdated timestamp when changing file-tree

GitOrigin-RevId: b82b2ff74dc31886f3c4bd300375117eead6e0cd
2025-04-16 08:05:14 +00:00
Eric Mc Sween
10303d5ff7 Merge pull request #24754 from overleaf/em-promisify-history-controller
Promisify HistoryController

GitOrigin-RevId: e1783acb8c7ba7e00b109a4f4a514973cc3163d2
2025-04-11 08:05:52 +00:00
Kristina
36fcc401cc Merge pull request #24680 from overleaf/kh-rename-recurly-namespace
[web] rename recurly namespace

GitOrigin-RevId: b7cfd26923d47bd7f3de4140be24d2d1ef20f6c8
2025-04-11 08:05:20 +00:00
Kristina
84dd590650 Merge pull request #24396 from overleaf/kh-rm-unused-recurly-subscription-property
[web] rm dead code in `SubscriptionViewModelBuilder`

GitOrigin-RevId: 64006e3f51f61c40e2d4e01fd04961546319ffdd
2025-04-11 08:05:16 +00:00
Jakob Ackermann
ddc15e4c8d [clsi-cache] backend (#24388)
* [clsi-cache] initial revision of the clsi-cache service

* [clsi] send output files to clsi-cache and import from clsi-cache

* [web] pass editorId to clsi

* [web] clear clsi-cache when clearing clsi cache

* [web] add split-tests for controlling clsi-cache rollout

* [web] populate clsi-cache when cloning/creating project from template

* [clsi-cache] produce less noise when populating cache hits 404

* [clsi-cache] push docker image to AR

* [clsi-cache] push docker image to AR

* [clsi-cache] allow compileGroup in job payload

* [clsi-cache] set X-Zone header from latest endpoint

* [clsi-cache] use method POST for /enqueue endpoint

* [web] populate clsi-cache in zone b with template data

* [clsi-cache] limit number of editors per project/user folder to 10

* [web] clone: populate the clsi-cache unless the TeXLive release changed

* [clsi-cache] keep user folder when clearing cache as anonymous user

* [clsi] download old output.tar.gz when synctex finds empty compile dir

* [web] fix lint

* [clsi-cache] multi-zonal lookup of single build output

* [clsi-cache] add more validation and limits

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

* [clsi] do not include clsi-cache tar-ball in output.zip

* [clsi-cache] fix reference after remaining constant

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

* [web] consolidate validation of filename into ClsiCacheHandler

* [clsi-cache] extend metrics and event tracking

- break down most of the clsi metrics by label
  - compile=initial - new compile dir without previous output files
  - compile=recompile - recompile in existing compile dir
  - compile=from-cache - compile using previous clsi-cache
- extend segmentation on compile-result-backend event
  - isInitialCompile=true - found new compile dir at start of request
  - restoredClsiCache=true - restored compile dir from clsi-cache

* [clsi] rename metrics labels for download of clsi-cache

This is in preparation for synctex changes.

* [clsi] use constant for limit of entries in output.tar.gz

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>

* [clsi-cache] fix cloning of project cache

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: 4901a65497af13be1549af7f38ceee3188fcf881
2025-04-10 08:05:17 +00:00
Kristina
1ee30f8683 Merge pull request #24519 from overleaf/kh-add-payment-service-low-delta
[web] add `PaymentService` to `buildUsersSubscriptionViewModel`

GitOrigin-RevId: 543531226bad38d34b225dae28cf00a5e02e5558
2025-04-10 08:05:06 +00:00
roo hutton
9b1002caee Merge pull request #24630 from overleaf/rh-null-editor-fix
Coerce null reviewer_refs to empty array

GitOrigin-RevId: dd1931b306e22fc4b7dbd3709dfac786a2475724
2025-04-04 08:04:44 +00:00
roo hutton
f1f57a74e3 Merge pull request #24618 from overleaf/rh-null-pending-reviewer
Handle null readOnly_refs in CollaboratorsHandler

GitOrigin-RevId: b718c4a1b5216a42920909615a0f3c2fe0a16bdb
2025-04-02 08:05:10 +00:00
roo hutton
8ed5013809 Merge pull request #24614 from overleaf/rh-pending-reviewer-pull
Set null pendingReviewer_refs to empty array in removeUserFromProject

GitOrigin-RevId: b21dd3f2febdb59dfafb45347960e375daeac463
2025-04-01 08:04:42 +00:00
ilkin-overleaf
e5ddc9e1f6 Merge pull request #24430 from overleaf/ii-flexible-group-licensing-tear-down-feature-flag
[web] Tear down flexible group licensing feature flag

GitOrigin-RevId: 181713f1f2371b51cbc4256debea59bbcf3668f3
2025-03-31 08:04:42 +00:00
Eric Mc Sween
3512992ac4 Merge pull request #24433 from overleaf/em-pending-reviewers
Support reviewers in the collaborator limit enforcement logic

GitOrigin-RevId: f11a8e37ca6ef36f9894233803c6ee8363bf0ff8
2025-03-27 14:16:48 +00:00
roo hutton
012ff8ad70 Merge pull request #24125 from overleaf/rh-current-version-fix
Fix version check for undefined split tests

GitOrigin-RevId: bbbd44a27ca41c5ffac02cb34ac0049a14cd13e4
2025-03-26 09:05:32 +00:00
M Fahru
fdffa41d1c Merge pull request #24417 from overleaf/mf-implement-stripe-hosted-checkout-split-test
[web] Implement stripe hosted checkout with split test

GitOrigin-RevId: 25e5ff2a46135f402cdf479623ab38c858c5640c
2025-03-25 09:05:16 +00:00
Eric Mc Sween
4301dcc5a0 Merge pull request #24357 from overleaf/em-reviewers-limit
Count reviewers towards the collaborator limit in the backend

GitOrigin-RevId: 352fa37023ffbb032e23a474a81897ca871fee69
2025-03-24 10:51:14 +00:00
Alf Eaton
567963084a Use first root .tex file as fallback main doc when importing from zip (#24302)
GitOrigin-RevId: 51affe14b77aa4f774d5e5f0807f42e07842f807
2025-03-24 10:47:44 +00:00
Domagoj Kriskovic
e80846bace Update project-joined event to include role, mode, ownerId, and source (#23677)
* Update project-joined event to include role, mode, ownerId, and source

* fix test

GitOrigin-RevId: 67c428a80f5791b69a57b6719ec795399e2a98ef
2025-03-24 10:47:11 +00:00
Jakob Ackermann
7adf52694c [web] generate clsi buildId ahead of fetching project content (#24337)
* [web] generate clsi buildId ahead of fetching project content

The buildIds timestamp component will be used for cache invalidation.

* [clsi] strict validation for buildId

* [clsi] validate buildId parameter

GitOrigin-RevId: 88e8b2d48e78fa137b6dca7f2e6b93bbcf88a777
2025-03-24 10:46:02 +00:00
Jakob Ackermann
392d2f1c26 [web] add support for regex based allow-list for skipping captcha (#24266)
* [web] double down on validating email addresses

* [web] normalize emails in captcha middleware

* [web] add support for regex based allow-list for skipping captcha

* [web] skip captcha for trusted users on all actions

GitOrigin-RevId: a994ebf6b74e80f462d2dab1fe5113bbffa676a9
2025-03-24 10:45:53 +00:00
M Fahru
828b51bc13 Merge pull request #21520 from overleaf/mf-fedramp-ad
[web][will merge 17 march 2025] Add "FedRamp" advertisement variant to the US Gov banner list with a special rule

GitOrigin-RevId: 86f96c6c108f72b44658dca53d2cecabf0fe9d14
2025-03-18 09:05:58 +00:00
David
062b2d57f8 Merge pull request #24137 from overleaf/mj-ide-permissions-utils
[web] Add switcher for editor redesign

GitOrigin-RevId: 806a1f567027df53f879b564a50aaae9166c8480
2025-03-18 09:05:40 +00:00
Thomas Mees
1e7a4c5582 Implement checks for user eligibility when switching plans (#24276)
* Convert updateSubscription controller to async/await

* Move updateSubscription to subscription module

* Validate if user is eligible to change plan

GitOrigin-RevId: ce538429cd5a3b93acabdc046f1a8b164ac02301
2025-03-14 09:05:19 +00:00
Jimmy Domagala-Tang
e48be7b195 Merge pull request #23972 from overleaf/jdt-grant-assist-via-wf-set-trait
enable granting of premium error assist based on WF entitlement to bu…

GitOrigin-RevId: 9d21cf8755c881bdc698c0cf9891076ecefd34eb
2025-03-12 09:06:42 +00:00
Andrew Rumble
4275a4a93b Return a NotFoundError when filestore disabled
GitOrigin-RevId: b470d75fc621e2e52180cf923d0ee818f4ec4cb2
2025-03-12 09:05:09 +00:00
ilkin-overleaf
299a57e14b Merge pull request #24138 from overleaf/ii-flexible-licensing-colombian-pesos
[web] Recurly subtotal limit on flexible licensing

GitOrigin-RevId: 302fb15dcc360e3b47674e8e776ffa115af6cbe6
2025-03-12 09:04:52 +00:00
Brian Gough
e56ed89d85 Merge pull request #24181 from overleaf/bg-Project-Audit-Log-Transfer-ownership-is-missing-the-IP-address
add missing ip adress to audit log for transfer ownership

GitOrigin-RevId: c14494efce25efa92a6cd81bcf197d8f897571bb
2025-03-11 09:06:43 +00:00
Alf Eaton
2678eab1b8 Store/update entity sha after importing from GitHub (#23935)
* Refactor WebApiManager
* Store/update entity sha after importing

GitOrigin-RevId: 604bf3b8010140355c21afca01a54237a301eb92
2025-03-11 09:05:42 +00:00
Alf Eaton
27a617eb16 Parse labels from environment options (#24189)
GitOrigin-RevId: e51eed7521f6e32e614f8b38092a0b0219f7f186
2025-03-11 09:05:31 +00:00
Jakob Ackermann
3a98940324 [web] switch query for hard-deleting users and add index (#22920)
* [web] switch query for hard-deleting users and add index

Co-authored-by: Dr. Sasha Göbbels <sasha.goebbels@overleaf.com>

* [web] fix unit tests

---------

Co-authored-by: Dr. Sasha Göbbels <sasha.goebbels@overleaf.com>
GitOrigin-RevId: a7fd2a590351d2e0d60c0032ca78d457ef815e41
2025-03-11 09:05:04 +00:00
Brian Gough
66776fa544 Merge pull request #24131 from overleaf/bg-disable-call-to-filestore-in-project-deleter
disable call to filestore in project deleter

GitOrigin-RevId: 07d9d3b33220e33abfa18a5f54e56e2b8d544e8d
2025-03-10 09:05:15 +00:00