Commit Graph

101 Commits

Author SHA1 Message Date
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
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
Brian Gough
3f75f35a8e Merge pull request #32766 from overleaf/bg-add-missing-unit-test-mocks
add missing mocks for @overleaf/metrics in unit tests

GitOrigin-RevId: 0903c3e26f88f92ef816a64f14ad053f159b31ed
2026-04-14 08:04:46 +00:00
Maria Florencia Besteiro Gonzalez
3261ffa4d0 Merge pull request #30539 from overleaf/mfb-promisify-cooldown-manager
promisify cooldown manager

GitOrigin-RevId: 88c8c7d7e306042524ecd400fb15527206472cb1
2026-01-13 09:05:43 +00:00
Andrew Rumble
f1e788d9b3 Merge pull request #29967 from overleaf/ar/web-remove-mocha-unit-tests
[web] remove mocha unit tests

GitOrigin-RevId: eda753af3470dbd1f385cb0bc3f06d78ade8a764
2025-12-03 09:05:37 +00:00
Mathias Jakobsen
af148bafb3 Merge pull request #28209 from overleaf/mj-dropbox-stop-archived-sync
[web] Avoid applying TPDS updates to archived and trashed projects

GitOrigin-RevId: c33bfb1ae5975cd98c81b76713fb99369816b188
2025-11-25 09:05:33 +00:00
Andrew Rumble
beb6f6d484 Merge pull request #29597 from overleaf/ar-last-features-esm-conversion
[web] last features esm conversion

GitOrigin-RevId: a35ab995bf654f1cdfe0e0062d8806761ecccf2d
2025-11-21 09:05:36 +00:00
Andrew Rumble
394c60f2cf Merge pull request #29659 from overleaf/revert-29656-revert-29521-ar-models-es-conversion
Revert "Revert "[web] Convert models and self-referential test files to ESM ""

GitOrigin-RevId: f64000ae31d298b075a8722dfc51f294c71bc021
2025-11-18 09:04:56 +00:00
Andrew Rumble
ae6dec9dcb Merge pull request #29656 from overleaf/revert-29521-ar-models-es-conversion
Revert "[web] Convert models and self-referential test files to ESM "

GitOrigin-RevId: 5455cccbb513bd9ca36ce526ff1553065f83d233
2025-11-13 09:06:36 +00:00
Andrew Rumble
7c9fea64ac [web] Convert models and self-referential test files to ESM (#29521)
from overleaf/ar-models-es-conversion

GitOrigin-RevId: a92ab8342c0f3e23155eacc0570458fc910c3d71
2025-11-13 09:06:13 +00:00
Andrew Rumble
4f02a85aa4 Update paths
GitOrigin-RevId: 399c594dd1bbf739d91874df6be3b70e57fe01e3
2025-11-06 09:05:57 +00:00
Andrew Rumble
b7c883ac38 Convert tests to ESM
GitOrigin-RevId: 20585e01dee90e691476a0d47fd5c63b0412e4a6
2025-10-23 08:06:15 +00:00
Andrew Rumble
0d73904c4b Rename files
GitOrigin-RevId: 7e8fde9258e71ab3649d1d83addeb5164d8b4251
2025-10-23 08:06:05 +00:00
Antoine Clausse
2413a93c5e [web] Promisify NotificationsBuilder.js (#28792)
* Replace request by fetch

* Promisify `dropboxDuplicateProjectNames`

* Promisify `dropboxUnlinkedDueToLapsedReconfirmation`

* Promisify `featuresUpgradedByAffiliation`

* Promisify `redundantPersonalSubscription`

* Promisify `projectInvite`

* Promisify `ipMatcherAffiliation`

* Promisify `tpdsFileLimit`

* Promisify `groupInvitation`

* Promisify `personalAndGroupSubscriptions`

* Sanitize URL

* Add default fetch timeout

* Update tests

* Update tests with fetch-utils

* Update external usage

* Import `ObjectId` from `mongodb-legacy`

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

* Add `toString()` to userId in `ipMatcherAffiliation` calls

* [v1] Return "200 null" instead of no content in `v2/api/v2/users/:userId/ip_matcher` when there is no data, so it can be read as JSON in the frontend

Can't be 204 because of lint: "Do not specify body content for a response with a non-content status code"

* Temporarily remove `enrolment_ad_html` test to test notifications

* Revert "Temporarily remove `enrolment_ad_html` test to test notifications"

This reverts commit fb8b0c26a3adbbc64053cd3f5f2570ccc97328fb.

* Use `return await`

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

---------

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: 17ee861852aa4ac15d3b46b1b28c763fad5333d2
2025-10-23 08:05:30 +00:00
Eric Mc Sween
a7c64d05e8 Merge pull request #28655 from overleaf/em-restore-avoid-doc-download
File restore: avoid downloading docs unnecessarily

GitOrigin-RevId: bf5faab7510b118041aaf848f9acb3eb864b5cc4
2025-09-29 08:06:51 +00:00
Antoine Clausse
1b8a183430 [web] Prevent errors from silently resolving and simplify promises in tests (#28621)
GitOrigin-RevId: e6ba7d25436c1350f8eef74df34dce03f93af909
2025-09-29 08:05:36 +00:00
Antoine Clausse
46715191e3 Merge pull request #28544 from overleaf/ac-some-web-esm-migration-4
[web] Convert some Features files to ES modules (part 4)

GitOrigin-RevId: cf11a7584e39c4d4de08e2f924240e488a4066c4
2025-09-24 08:05:58 +00:00
Jakob Ackermann
bd4130c147 [filestore] remove user files endpoints (#28125)
* [filestore] remove user files endpoints

* [web] remove user files integration for filestore

GitOrigin-RevId: 565fa68a659c07420ee6141d0f276b4e4d2972e0
2025-09-02 08:04:52 +00:00
Jakob Ackermann
81f0807fc6 [web] prepare filestore migration for Server Pro/CE (#27230)
* [web] prepare filestore migration for Server Pro/CE

* [history-v1] remove unused USER_FILES_BUCKET_NAME env var from script

* [server-ce] tests: write default docker-compose.override.yml on startup

* [server-ce] tests: extend access logging of host-admin for response

* [server-ce] tests: test text and binary file upload

* [server-ce] tests: add tests for filestore migration

* [web] simplify feature gate for filestore/project-history-blobs logic

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

* [server-ce] test: fix flaky test helper

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: f89bdab2749e2b7a49d609e2eac6bf621c727966
2025-07-22 08:06:58 +00:00
Andrew Rumble
e76a8ff267 Convert return new Promise to await new Promise
GitOrigin-RevId: 49404748cc90cb7bdef0460f7e9837196f81cae8
2025-06-25 08:06:59 +00:00
Andrew Rumble
c0b7efea10 Change imports that use chai to use vitest
GitOrigin-RevId: 59d780f754adbb5160a2de8e5eca1def6968584b
2025-06-10 08:05:18 +00:00
Andrew Rumble
873068a187 Update test files with vitest compat changes
GitOrigin-RevId: 494f906089d250268a5ff8c8a2150ff2692c37e2
2025-05-29 08:05:06 +00:00
Andrew Rumble
51dcc88f27 Rename test files for vitest
GitOrigin-RevId: f8792c0ce5eeb4843a534d3ff83e011d25fb65e0
2025-05-29 08:05:00 +00:00
Jakob Ackermann
f0edc7ba00 [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
Alf Eaton
eedf5367fc 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
Brian Gough
2ce82fabab Merge pull request #22533 from overleaf/ar-only-use-history-for-blobs-when-enabled
[web] only use history for blobs when enabled

GitOrigin-RevId: 010983e9b29657d4c594e03945dca5700577bf0a
2025-01-10 09:05:32 +00:00
Brian Gough
9d4eeeea90 Merge pull request #22488 from overleaf/bg-add-filestore-request-logging
add filestore request logging

GitOrigin-RevId: 0ec5c413f0e88521e1da268699ee2ee281c560f1
2024-12-13 09:05:16 +00:00
Brian Gough
f267350a46 Merge pull request #22266 from overleaf/revert-22256-revert-22239-jpa-file-url-helper
Revert "Revert "[web] add helper for getting file URL from history w/ filestore fallback""

GitOrigin-RevId: 6c4825eebb4892ddcc000abc1415995c00d0c7a0
2024-12-03 09:04:51 +00:00
Thomas
85f4966d49 Merge pull request #22256 from overleaf/revert-22239-jpa-file-url-helper
Revert "[web] add helper for getting file URL from history w/ filestore fallback"

GitOrigin-RevId: 3feecb5291f574de058b51efd5c799e07d5ec851
2024-12-02 09:06:18 +00:00
Jakob Ackermann
b9a56afe4c Merge pull request #22239 from overleaf/jpa-file-url-helper
[web] add helper for getting file URL from history w/ filestore fallback

GitOrigin-RevId: d77e6f1565fab407e1004a02c4bfdfe03a0214d7
2024-12-02 09:05:26 +00:00
Jakob Ackermann
892eaabdf7 Merge pull request #22202 from overleaf/jpa-tpds
[misc] tpds: read files from history-v1 with fallback to filestore

GitOrigin-RevId: afdde47e453b0cb07985392b5e2b03abf348debf
2024-11-29 09:04:54 +00:00
Andrew Rumble
2bfb55a305 Update tests
GitOrigin-RevId: 9272720e0f6865c54257c43bd98d8e6003251aa2
2024-10-17 08:06:17 +00:00
andrew rumble
032deaf05c Switch to mongodb-legacy
GitOrigin-RevId: 11e09528c153de6b7766d18c3c90d94962190371
2024-08-21 08:04:24 +00:00
Jakob Ackermann
9ea6b2f8b1 Merge pull request #18252 from overleaf/jpa-refactor-for-flaky-test
[web] refactor background job for setting root doc automatically

GitOrigin-RevId: 719c010eb3e5b692908b7a6fea9d8522b9fc01b9
2024-05-09 08:05:23 +00:00
Jakob Ackermann
a540754f6e Merge pull request #18116 from overleaf/jpa-bulk-replace-localhost
[misc] bulk replace localhost with 127.0.0.1

GitOrigin-RevId: d238f3635302e8ff5500d611108c4d1bef216726
2024-04-26 08:04:39 +00:00
Miguel Serrano
eadbe8cddc Merge pull request #17189 from overleaf/revert-17184-msm-run-all-fake-timers
Revert "[web] Run fake timers with runAll() instead of next()"

GitOrigin-RevId: 878e18275e3b65cccc1441de4fe647601b5c6321
2024-02-20 09:05:26 +00:00
Miguel Serrano
05edb22be0 Merge pull request #17184 from overleaf/msm-run-all-fake-timers
[web] Run fake timers with runAll() instead of next()

GitOrigin-RevId: 5ba89d66487a0222d17dbf576e9eeab76a572b0e
2024-02-20 09:04:51 +00:00
Jakob Ackermann
b2dd70e0b4 Merge pull request #17107 from overleaf/jpa-x-update-source-2
[misc] remove ShareLaTeX branding from X-Update-Source header 2/2

GitOrigin-RevId: bebe0212a1f7b4c965cd55a22357e52dfce6dd30
2024-02-19 09:04:09 +00:00
Jakob Ackermann
5889aa1c1b Merge pull request #17106 from overleaf/jpa-x-update-source-1
[misc] remove ShareLaTeX branding from X-Update-Source header 1/2

GitOrigin-RevId: 435924b8f0f50016fe5bb1df7b960707babbb286
2024-02-19 09:03:44 +00:00
Jakob Ackermann
4804cd68a5 Merge pull request #17105 from overleaf/jpa-tpds-cleanup
[misc] cleanup for tpds queues

GitOrigin-RevId: 8a501a692fa20d8956ad9dc4fccc0447c9f6fbe5
2024-02-19 09:03:41 +00:00
Jakob Ackermann
63520c7076 Merge pull request #16859 from overleaf/jpa-sharelatex-cleanup
[misc] ShareLaTeX cleanup - high impact

GitOrigin-RevId: 6dcce9b0f15e30f7afcf6d69c3df36a369f38120
2024-02-09 09:04:11 +00:00
Eric Mc Sween
b0f3f00c43 Merge pull request #16368 from overleaf/em-remove-project-archiver-code
Remove project-archiver related code

GitOrigin-RevId: b3331033658c14a7c4d8745fd7085cd7c65c94bc
2024-01-05 09:03:21 +00:00
Mathias Jakobsen
c371732e6e Merge pull request #16186 from overleaf/mj-mongo-object-id
[web] Use constructor for ObjectId

GitOrigin-RevId: 9eb8b377ea599605b72af237d1ab12f4d8287162
2023-12-19 09:04:02 +00:00
Jakob Ackermann
595f59201c Merge pull request #14135 from overleaf/jpa-web-tpds-no-filewriter
[web] remove FileWriter dependency in tpds update

GitOrigin-RevId: 7b7b31d919e61631fdeaf4909637ab2181848060
2023-08-03 08:03:41 +00:00
Eric Mc Sween
28e87a9314 Merge pull request #13760 from overleaf/em-fetch-utils-web
Use fetch-utils in web

GitOrigin-RevId: cbd0298200bbe42567c6e94934bfb5114fa9b66f
2023-07-17 11:02:40 +00:00
Eric Mc Sween
12e7471213 Merge pull request #12916 from overleaf/bg-move-stream-buffer-code-to-library
move stream-related code to separate  `@overleaf/stream-utils` library

GitOrigin-RevId: a79a873109b927b4fc0ae36f47d5c67e0df58041
2023-06-02 08:05:57 +00:00
Alf Eaton
a5378ebd49 Merge pull request #13175 from overleaf/msm-flaky-tests
[web] replace clock.runAll() with clock.next() in flaky tests

GitOrigin-RevId: 62ea59315597d9ecd0e143418f65382644ed8345
2023-05-25 08:04:07 +00:00
June Kelly
9d86affec4 Merge pull request #13124 from overleaf/jk-disable-flaky-test-again
[web] disable flaky test with `fake-timers`, again

GitOrigin-RevId: e53afd52058666b14c55fbe91bc1ea7b55a87c1a
2023-05-18 08:03:45 +00:00
June Kelly
db9e17bd47 Merge pull request #13110 from overleaf/jk-investigate-fake-timers-problem
[web] Fix failing unit test involving `fake-timers`

GitOrigin-RevId: d166cc10079b9c4fa6d07525a9e6140e86b05fc9
2023-05-17 09:27:53 +00:00