Commit graph

934 commits

Author SHA1 Message Date
Jakob Ackermann
729cbf3fce Merge pull request #6224 from overleaf/jpa-cache-install-deps
[misc] add docker image caching for install_deps, pre-fetch node image

GitOrigin-RevId: b52e52351c62b780538e0668b99fc1c28723addc
2022-01-06 09:03:07 +00:00
Jakob Ackermann
4b308553be Merge pull request #6120 from overleaf/jpa-same-linting-packages
[misc] move the linting setup to the root of the monorepo

GitOrigin-RevId: 1633e2a58598add0b727738cd3bfba0ab7bae781
2021-12-17 09:03:06 +00:00
Eric Mc Sween
c8f61e908c Merge pull request #6018 from overleaf/msm-rope-apply
Speed up OT Apply in docupdater using Ropes

GitOrigin-RevId: 9789c3910d40a4161f1f0d9c16cef8d8ca74788c
2021-12-16 09:02:56 +00:00
Eric Mc Sween
f7275a6c4b Merge pull request #6079 from overleaf/em-upgrade-logger
Upgrade logger and metrics in all services

GitOrigin-RevId: 2baf63eeeab77fb3559cf763ddacfbf4b745cd0b
2021-12-15 09:04:25 +00:00
Brian Gough
780dc55761 Merge pull request #5964 from overleaf/bg-fix-error-handling-in-scripts
[document-updater] fix error handling in scripts

GitOrigin-RevId: d80506e0e42ffce70e9eb3571e02bea274f7a263
2021-12-01 09:04:00 +00:00
Brian Gough
d0b7cae021 Merge pull request #5963 from overleaf/bg-fix-missing-pathname-check
[document-updater] fix check for missing pathname

GitOrigin-RevId: 81ebca469c820ffb197020d29f6734821c270e96
2021-12-01 09:03:54 +00:00
Brian Gough
805517e728 Merge pull request #5961 from overleaf/bg-remove-deleted-docs
[document-updater] remove deleted docs from redis

GitOrigin-RevId: ec9ad55d3c5cd9b55f56599de671068c00442f49
2021-12-01 09:03:47 +00:00
Eric Mc Sween
7a0b40a4bf Merge pull request #5941 from overleaf/em-cleanup-redis-manager
Decaf cleanup docupdater RedisManager and DocumentManager

GitOrigin-RevId: 6a9634d1882a3a7328cac8cd88537dd9d204b281
2021-12-01 09:03:12 +00:00
Brian Gough
a757ed898b Merge pull request #5917 from overleaf/bg-clean-up-pathname-script
[document-updater] clean up empty pathname script

GitOrigin-RevId: 6d7e47081de892e96ba93ca273662ec4397df796
2021-11-26 09:03:47 +00:00
Brian Gough
18ecbf37e6 Merge pull request #5916 from overleaf/bg-fix-missing-project-ids
add script to fix missing project ids

GitOrigin-RevId: 5b98705859fa041816d5fb1ad431e868b0e81457
2021-11-26 09:03:40 +00:00
Brian Gough
4f32ddc4cb Merge pull request #5892 from overleaf/tm-large-docs-in-resync
Do size check on doc before queuing resyncDocContent

GitOrigin-RevId: 315b849375fd17a2936adacaad4a93ccf283d853
2021-11-26 09:02:57 +00:00
Brian Gough
6ec0ae8501 Merge pull request #5893 from overleaf/bg-flush-docs-without-pathnames
script to flush docs without pathnames from redis

GitOrigin-RevId: d9363d4f24fea66ae1adb7d306936bef42a48d2f
2021-11-25 09:02:45 +00:00
Brian Gough
9d4ed693f5 Merge pull request #5826 from overleaf/bg-use-resync-path
[document-updater] use paths from project structure update in resync

GitOrigin-RevId: 6ed2a48da76553e2fe5d0d3ec8da535515a35110
2021-11-23 09:03:14 +00:00
Brian Gough
033b9bd982 Merge pull request #5861 from overleaf/bg-log-missing-pathnames
log missing pathnames in document-updater

GitOrigin-RevId: bf3bdee5ded278710aa0b80193b2cf884029f07b
2021-11-23 09:02:38 +00:00
Brian Gough
587cd33d82 Merge pull request #5860 from overleaf/bg-fix-docupdater-delete-doc
fix docupdater delete operation

GitOrigin-RevId: daab03b7659688d53c54ac80756394796d3c6348
2021-11-23 09:02:35 +00:00
Jakob Ackermann
2261e761f4 Merge pull request #5705 from overleaf/jpa-node-14
[misc] upgrade node version from 12 to 14

GitOrigin-RevId: 15c465c7bb5e42b0c71e2dedb09cf4fe9f1d8ec6
2021-11-19 09:02:56 +00:00
Jakob Ackermann
159eff2097 Merge pull request #5700 from overleaf/jpa-re-generate-build-scripts
[misc] set mongo version in build_script templates and re-generate files

GitOrigin-RevId: 3338084025374f451b1208109407c688ddb68f0a
2021-11-08 09:03:20 +00:00
Jakob Ackermann
638fbd5510 Merge pull request #5573 from overleaf/jpa-prefer-regex-literals
[misc] fix eslint violations for prefer-regex-literals

GitOrigin-RevId: 216288af22b9eeb18cddace7ec285e0a8046f94a
2021-10-28 08:03:41 +00:00
Jakob Ackermann
f6795a324a Merge pull request #5572 from overleaf/jpa-no-path-concat
[misc] fix eslint violations for node/no-path-concat

GitOrigin-RevId: 5122826fb9ae23c373e8c5a6802ebb35eb20314f
2021-10-28 08:03:37 +00:00
Jakob Ackermann
669606f797 Merge pull request #5568 from overleaf/jpa-node-no-callback-literal
[misc] fix eslint violations for node/no-callback-literal

GitOrigin-RevId: af5aace52e1476b1b0ee48cc8be2aabbe04efac6
2021-10-28 08:03:33 +00:00
Jakob Ackermann
489df8360e Merge pull request #5523 from overleaf/jpa-no-loss-of-precision
[misc] fix eslint violations for no-loss-of-precision

GitOrigin-RevId: 06ecbeb5f10569933e99a472a92fd3efbe546278
2021-10-28 08:03:30 +00:00
Jakob Ackermann
7f9fd00bda Merge pull request #5367 from overleaf/jpa-node-handle-callback-err
[misc] fix eslint violations for node/handle-callback-err

GitOrigin-RevId: 83a4900e8861010df1917bff49382bd9c93375bd
2021-10-28 08:03:26 +00:00
Jakob Ackermann
5862359ff0 Merge pull request #5518 from overleaf/jpa-no-empty
[misc] fix eslint violations for no-empty

GitOrigin-RevId: 8fc1688ac28ccf29b830ba43cd6091e64b5e3b07
2021-10-27 08:03:14 +00:00
Jakob Ackermann
4cefebec5d Merge pull request #5517 from overleaf/jpa-no-dupe-else-if
[misc] fix eslint violations for no-dupe-else-if

GitOrigin-RevId: 5f72eb1d033322b2d419c1dbad29ea378ee776f5
2021-10-27 08:03:09 +00:00
Jakob Ackermann
0f529df1e4 Merge pull request #5360 from overleaf/jpa-array-callback-return
[misc] fix eslint violations for array-callback-return

GitOrigin-RevId: 4104342239f4da32c541855d6fc7032c4c96004f
2021-10-27 08:03:05 +00:00
Jakob Ackermann
a6f05109a3 Merge pull request #5352 from overleaf/jpa-no-var
[misc] fix eslint violations for `no-var`

GitOrigin-RevId: c52e82f3a8a993b8662cc5aa56e7b95ca3c55832
2021-10-27 08:03:00 +00:00
Brian Gough
43c381e4d5 Merge pull request #5552 from overleaf/bg-node-upgrade-other
upgrade node to v12.22.7 (other services)

GitOrigin-RevId: 889cf9a77173119fec8f200eeef9ddeefca0720b
2021-10-26 08:03:13 +00:00
Brian Gough
5d6a833216 Merge pull request #5338 from overleaf/bg-update-docupdater-logger
[docupdater] upgrade from logger-sharelatex to @overleaf/logger

GitOrigin-RevId: 26294a1e61d25b907d594a586f9b4714bc36ae4f
2021-10-07 08:04:03 +00:00
Brian Gough
b4cd9b089d Merge pull request #5327 from overleaf/bg-extend-docupdater-profiler
[docupdater] record synchronous operations in profiler

GitOrigin-RevId: 994139e7f3fb04645e435273f5143e1fa6091be2
2021-10-07 08:03:57 +00:00
Brian Gough
2cd7b615bf Merge pull request #5159 from overleaf/bg-docupdater-log-relevelling
docupdater log re-levelling

GitOrigin-RevId: c27478d48f1cb1eae022086fe7af9fe55dfacfa0
2021-10-01 08:03:04 +00:00
Brian Gough
8b1665a97c Merge pull request #5143 from overleaf/bg-upgrade-docupdater-dependencies
[docupdater] update package-lock.json

GitOrigin-RevId: 097ded1070e31c77add37a89f9a8967571e59b0f
2021-09-21 08:02:58 +00:00
Brian Gough
865a973426 Merge pull request #5132 from overleaf/bg-fix-size-check
[docupdater] use more accurate doc size check

GitOrigin-RevId: f66d68a7f7fdc127cc31539abdcab65549823d02
2021-09-21 08:02:55 +00:00
Henry Oswald
8197411cdf Merge pull request #4891 from overleaf/ho-web-mongo-4-2
bump mongo to 4.2.15

GitOrigin-RevId: 1ac2057f264bd6dbe042d8f999a4ab1054c9edf5
2021-09-15 08:03:54 +00:00
Eric Mc Sween
9f4541c266 Merge pull request #4761 from overleaf/em-peek-doc
Do not unarchive docs when resyncing project history

GitOrigin-RevId: c7df75789c01e6c85b464a9b94b14654d8568407
2021-08-20 08:03:50 +00:00
Brian Gough
5e2d4d2169 add acceptance tests for peek 2021-08-02 14:13:38 +01:00
Brian Gough
0fd24b5133 peek at docs without fetching from mongo 2021-07-30 16:13:48 +01:00
Jakob Ackermann
3ccd3a228f Merge pull request #178 from overleaf/dependabot-npm_and_yarn-glob-parent-5.1.2
Bump glob-parent from 5.1.1 to 5.1.2
2021-07-16 10:07:28 +02:00
Jakob Ackermann
29cea1743b [misc] DeletingADocumentTests: fix behavior checks
The preloading setup does an initial getDocument request to web-api.
2021-07-13 13:12:34 +01:00
Jakob Ackermann
bf8224e2a0 [misc] ApplyingUpdatesToADocTests: adhere to stricter chai assertions 2021-07-13 12:51:06 +01:00
Jakob Ackermann
1184f8f5b6 [misc] fix chai assertions .equal.false -> .equals(false) 2021-07-13 12:35:32 +01:00
Jakob Ackermann
40aafa27e0 [misc] upgrade node version to latest v12 LTS version 12.22.3 2021-07-13 12:26:30 +01:00
Jakob Ackermann
e8697f7f97 [misc] temporary override a few new/changed eslint rules 2021-07-13 12:24:36 +01:00
Jakob Ackermann
c532376e21 [misc] run format_fix and lint:fix 2021-07-13 12:04:42 +01:00
Jakob Ackermann
2a3f264140 [misc] upgrade build scripts to version 3.11.0 and cleanup packages
```
npm uninstall prettier-eslint-cli eslint-plugin-standard eslint-plugin-jsx-a11y eslint-plugin-react eslint-config-standard-jsx eslint-config-standard-react babel-eslint
npm dedupe
```
2021-07-13 11:55:13 +01:00
Jakob Ackermann
98097b0804 [misc] goodbye coffee-script 2021-07-13 10:07:00 +01:00
Jakob Ackermann
34de603e90 [misc] run npm dedupe 2021-07-12 17:51:01 +01:00
Jakob Ackermann
519dd274bf [misc] switch from settings-sharelatex to @overleaf/settings 2021-07-12 17:47:15 +01:00
Jakob Ackermann
835dbe784b [misc] install bunyan as production dependency
```
Error: Cannot find module 'bunyan'
Require stack:
- .../node_modules/@google-cloud/logging-bunyan/build/src/middleware/express.js
- .../node_modules/@google-cloud/logging-bunyan/build/src/index.js
- .../node_modules/logger-sharelatex/logging-manager.js
- .../node_modules/logger-sharelatex/index.js
- .../app.js
```
2021-07-12 17:35:45 +01:00
dependabot[bot]
0090748379 Bump glob-parent from 5.1.1 to 5.1.2
Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases)
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: glob-parent
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-11 14:36:06 +00:00
Alf Eaton
674ad4acf0 Rename folder from coffee to js 2021-05-25 16:57:24 +01:00
Alf Eaton
5961e85b10 Fix path in test script 2021-05-25 16:56:57 +01:00
Alf Eaton
24fd9449f2 Run format:fix 2021-05-25 15:52:19 +01:00
Alf Eaton
358786fccd Run format:fix 2021-05-25 15:45:42 +01:00
Alf Eaton
f4db3d8f45 Manual tidying 2021-05-25 14:32:03 +01:00
Alf Eaton
de50e59557 Run format:fix 2021-05-25 14:27:45 +01:00
decaffeinate
03cbad4e9f decaffeinate: Run post-processing cleanups on expire_docops.coffee and 2 other files 2021-05-19 20:25:07 +01:00
decaffeinate
5ad0b6eea2 decaffeinate: Convert expire_docops.coffee and 2 other files to JS 2021-05-19 20:25:07 +01:00
decaffeinate
e1e0d26b1f decaffeinate: Rename expire_docops.coffee and 2 other files from .coffee to .js 2021-05-19 20:25:06 +01:00
Alf Eaton
edacebb53c Remove unused parameter 2021-05-19 20:25:04 +01:00
Jakob Ackermann
dde645e770 Merge pull request #176 from overleaf/dependabot-npm_and_yarn-hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9
2021-05-17 10:57:18 +02:00
Jakob Ackermann
e92b9fc754 Merge pull request #174 from overleaf/jpa-explicit-dependencies
[misc] add linting for missing explicit dependencies and fix any errors
2021-05-17 10:57:12 +02:00
Jakob Ackermann
f97117a6ba Merge pull request #175 from overleaf/jpa-double-down-doc-size-limit
[misc] double down on enforcing doc size limits
2021-05-17 10:56:55 +02:00
dependabot[bot]
da81a97b82 Bump hosted-git-info from 2.8.8 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 17:18:40 +00:00
Jakob Ackermann
309ad818f6 [SizeCheckTests] add acceptance tests for size limit checks 2021-05-06 18:21:19 +01:00
Jakob Ackermann
757e1e98c5 [RedisManager] block updating of too large docs in redis 2021-05-06 18:21:19 +01:00
Jakob Ackermann
c707d0b345 [RedisManager] block inserting of too large docs into redis 2021-05-06 18:21:18 +01:00
Jakob Ackermann
a4ae0ea12f [ShareJsUpdateManager] double check doc size before flushing 2021-05-06 18:20:51 +01:00
Jakob Ackermann
33fad08c47 [misc] add linting for missing explicit dependencies and fix any errors 2021-04-29 15:30:48 +01:00
Brian Gough
ed3ddacac6 Merge pull request #172 from overleaf/bg-upgrade-ioredis
upgrade ioredis via @overleaf/redis-wrapper
2021-04-29 14:15:45 +01:00
Brian Gough
01112e10ab upgrade ioredis via @overleaf/redis-wrapper
also update dependencies
2021-04-29 11:49:13 +01:00
Brian Gough
b1a1446054 remove the limit of 300 maxSockets 2021-04-29 10:29:34 +01:00
Shane Kilkelly
8006e122d5 Merge pull request #170 from overleaf/sk-logger-update-2
upgrade logger to 2.2.0
2021-04-14 09:58:14 +01:00
Jakob Ackermann
34fc349646 [benchmarks] add benchmark for multi vs mget/mset 2021-04-13 11:47:10 +01:00
Jakob Ackermann
6e551f9b34 [perf] use MGET/MSET/DEL for manipulating multiple keys in one operation
In some cases we can get rid of MULTI/EXEC operations too.
- putDocInMemory: from 10 down to 2 operations
- removeDocFromMemory: from 14+4 down to 4+4 operations
- updateDoc: from 13 down to 8 operations
2021-04-13 11:47:10 +01:00
Jakob Ackermann
178440395f [perf] switch write sequence for doc contents and doc tracking
Doc contents are added only after the tracking has been setup.
All read paths on the tracking have been checked to gracefully handle
 the case of existing doc_id but missing doc contents.

- getDoc: -1 operation

REF: 0a2b47c660c60b95e360d8f3b3e30b862ceb6d79
2021-04-13 11:46:44 +01:00
Shane Kilkelly
83bbdfa9d1 upgrade logger to 2.2.0 2021-04-13 10:58:05 +01:00
Jakob Ackermann
50b24043b7 [perf] use MGET for fetching multiple keys in one operation
- getDoc: from 13 down to 2 operations
2021-04-09 08:42:35 +01:00
Simon Detheridge
8ba799035b Revert "Update logger-sharelatex to 2.2.0" 2021-04-06 15:29:09 +01:00
Shane Kilkelly
1e4e4b5ec0 Update logger-sharelatex to 2.2.0 2021-04-06 11:47:22 +01:00
dependabot[bot]
acbbd88d8a Bump y18n from 4.0.0 to 4.0.1
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-06 10:40:56 +00:00
Eric Mc Sween
4d70bd664f Reintroduce Node 12 and metrics upgrades
These changes were previously merged, not deployed, and reverted. This
reverts the revert.

This reverts commit a6b8c6c658b33b6eee78b8b99e43308f32211ae2, reversing
changes made to 93c98921372eed4244d22fce800716cb27eca299.
2021-04-01 15:51:00 -04:00
Eric Mc Sween
4dd1b26b2e Revert "Merge pull request #161 from overleaf/em-upgrade-node-12"
This reverts commit d44102751b9436ad89c5b3b05e7abdff51fcc78a, reversing
changes made to 6c2f5b8d053b75c677da2b7ddd04f998d2be6fff.
2021-03-31 12:07:11 -04:00
Eric Mc Sween
b233e6588c Revert "Merge pull request #158 from overleaf/jpa-metrics-module-3-5-1"
This reverts commit 93c98921372eed4244d22fce800716cb27eca299, reversing
changes made to d44102751b9436ad89c5b3b05e7abdff51fcc78a.
2021-03-31 12:06:41 -04:00
Jakob Ackermann
98a32833a9 [misc] bump the version of the metrics module to 3.5.1 2021-03-31 10:08:04 -04:00
Eric Mc Sween
1a2235a219 Upgrade to Node 12 2021-03-16 16:48:45 -04:00
Eric Mc Sween
dc5bfea181 Global test setup
Configure chai and SandboxedModule globally with options used in many
tests.

That required upgrading mocha and SandboxedModule.
2021-03-16 16:48:45 -04:00
Thomas
23738540ed Fix API request errors which could contain API hostname or address (#160)
Wrap errors produced by failing requests to web API, and remove the url/hostname from thrown error messages. (But keep the URL path for info.)
2021-02-24 15:09:19 +01:00
Henry Oswald
20a373d95c stop listening on the pending updates channels 10 times 2021-02-23 08:27:29 +00:00
Henry Oswald
c7e57cd28f add Dispatchers running on old queue while we migrate
revert once migrated
2021-02-15 14:16:45 +00:00
Henry Oswald
854e24bb57 remove unneeded anonymous func 2021-02-15 14:12:28 +00:00
Henry Oswald
0cdeffae6c fix off by 1 error in Doc updater client helper file 2021-02-09 10:50:37 +00:00
Henry Oswald
bcfc7e66fc add missing comma in settings file 2021-02-09 10:32:16 +00:00
Henry Oswald
40de999766 Update config/settings.defaults.js
parseint on dispatcher count

Co-authored-by: John Lees-Miller <jdleesmiller@gmail.com>
2021-02-04 09:30:35 +00:00
Henry Oswald
11c8cfc939 shard the pending-updates-list queue 2021-02-02 16:38:25 +00:00
Eric Mc Sween
98f8d7f51c Set the diff-match-patch timeout to 100ms
This might result in worse diffs, but we don't want to spend a second
blocking the event loop while we figure out nicer diffs when comparing
documents.
2021-01-14 15:11:15 -05:00
Christopher Hoskin
9af14ef513 Merge pull request #153 from overleaf/dependabot-npm_and_yarn-ini-1.3.8
Bump ini from 1.3.5 to 1.3.8
2021-01-06 10:25:17 +00:00
Christopher Hoskin
9cbd8751a8 Update Node to 10.23.1 2021-01-06 09:57:08 +00:00
dependabot[bot]
ab6705481d Bump ini from 1.3.5 to 1.3.8
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-13 07:35:06 +00:00
Eric Mc Sween
de247302b1 Use a centralized diff-match-patch package
We use our own fork of the diff-match-patch npm package, which adds an
optimization for the semantic alignment loop.
2020-12-07 16:15:19 -05:00
Eric Mc Sween
dce5b8759a Decaf cleanup: capitalize class names 2020-12-07 15:30:02 -05:00