diff --git a/services/clsi/.nvmrc b/services/clsi/.nvmrc
index d9f880069d..5ab50cd8e9 100644
--- a/services/clsi/.nvmrc
+++ b/services/clsi/.nvmrc
@@ -1 +1 @@
-16.14.2
+14.18.3
diff --git a/services/clsi/Dockerfile b/services/clsi/Dockerfile
index c09324ed35..e70a021cdb 100644
--- a/services/clsi/Dockerfile
+++ b/services/clsi/Dockerfile
@@ -2,7 +2,7 @@
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
WORKDIR /overleaf/services/clsi
COPY services/clsi/install_deps.sh /overleaf/services/clsi/
diff --git a/services/clsi/Makefile b/services/clsi/Makefile
index 876c8fbc62..91f68a766c 100644
--- a/services/clsi/Makefile
+++ b/services/clsi/Makefile
@@ -30,7 +30,7 @@ HERE=$(shell pwd)
MONOREPO=$(shell cd ../../ && pwd)
# Run the linting commands in the scope of the monorepo.
# Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
format:
$(RUN_LINTING) format
diff --git a/services/clsi/buildscript.txt b/services/clsi/buildscript.txt
index edd1bad3f3..bca2d00bdb 100644
--- a/services/clsi/buildscript.txt
+++ b/services/clsi/buildscript.txt
@@ -5,6 +5,7 @@ clsi
--env-add=ENABLE_PDF_CACHING="true",PDF_CACHING_ENABLE_WORKER_POOL="true"
--env-pass-through=TEXLIVE_IMAGE
--has-custom-cloudbuild=True
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
--public-repo=True
--script-version=4.1.0
diff --git a/services/clsi/install_deps.sh b/services/clsi/install_deps.sh
index 07711b2033..bcddc2d8e1 100755
--- a/services/clsi/install_deps.sh
+++ b/services/clsi/install_deps.sh
@@ -8,17 +8,3 @@ apt-get install -y \
ghostscript \
rm -rf /var/lib/apt/lists/*
-
-# Allow ImageMagick to process PDF files. This is for tests only, but since we
-# use the production images for tests, this will apply to production as well.
-patch /etc/ImageMagick-6/policy.xml <
-
-
--
-
-
-EOF
diff --git a/services/clsi/test/bench/hashbench.js b/services/clsi/test/bench/hashbench.js
index 652ad39c7d..787a4e2280 100644
--- a/services/clsi/test/bench/hashbench.js
+++ b/services/clsi/test/bench/hashbench.js
@@ -28,7 +28,7 @@ function test(hashType, filePath, callback) {
ContentCacheManager.update(dir, filePath, x => {
const t2 = process.hrtime.bigint()
const warm = Number(t2 - t1) / 1e6
- fs.rm(dir, { recursive: true, force: true }, err => {
+ fs.rmdir(dir, { recursive: true }, err => {
if (err) {
return callback(err)
}
diff --git a/services/clsi/test/unit/js/ContentCacheManagerTests.js b/services/clsi/test/unit/js/ContentCacheManagerTests.js
index bfb7179587..fc806bc482 100644
--- a/services/clsi/test/unit/js/ContentCacheManagerTests.js
+++ b/services/clsi/test/unit/js/ContentCacheManagerTests.js
@@ -40,7 +40,7 @@ describe('ContentCacheManager', function () {
})
before(async function () {
- await fs.promises.rm(contentDir, { recursive: true, force: true })
+ await fs.promises.rmdir(contentDir, { recursive: true })
await fs.promises.mkdir(contentDir, { recursive: true })
await fs.promises.mkdir(Path.dirname(pdfPath), { recursive: true })
})
diff --git a/services/contacts/.nvmrc b/services/contacts/.nvmrc
index d9f880069d..5ab50cd8e9 100644
--- a/services/contacts/.nvmrc
+++ b/services/contacts/.nvmrc
@@ -1 +1 @@
-16.14.2
+14.18.3
diff --git a/services/contacts/Dockerfile b/services/contacts/Dockerfile
index 1bf436b430..92da7718ec 100644
--- a/services/contacts/Dockerfile
+++ b/services/contacts/Dockerfile
@@ -2,7 +2,7 @@
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
WORKDIR /overleaf/services/contacts
diff --git a/services/contacts/Makefile b/services/contacts/Makefile
index 4f89afb502..9f36b9555c 100644
--- a/services/contacts/Makefile
+++ b/services/contacts/Makefile
@@ -30,7 +30,7 @@ HERE=$(shell pwd)
MONOREPO=$(shell cd ../../ && pwd)
# Run the linting commands in the scope of the monorepo.
# Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
format:
$(RUN_LINTING) format
diff --git a/services/contacts/buildscript.txt b/services/contacts/buildscript.txt
index e0f883f9b3..c94c634ab5 100644
--- a/services/contacts/buildscript.txt
+++ b/services/contacts/buildscript.txt
@@ -3,6 +3,7 @@ contacts
--docker-repos=gcr.io/overleaf-ops
--env-add=
--env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
--public-repo=False
--script-version=4.1.0
diff --git a/services/contacts/docker-compose.yml b/services/contacts/docker-compose.yml
index 7ced69a758..adb4968ba5 100644
--- a/services/contacts/docker-compose.yml
+++ b/services/contacts/docker-compose.yml
@@ -6,7 +6,7 @@ version: "2.3"
services:
test_unit:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/contacts
- ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
user: node
test_acceptance:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/contacts
- ../../node_modules:/overleaf/node_modules
diff --git a/services/docstore/.nvmrc b/services/docstore/.nvmrc
index d9f880069d..5ab50cd8e9 100644
--- a/services/docstore/.nvmrc
+++ b/services/docstore/.nvmrc
@@ -1 +1 @@
-16.14.2
+14.18.3
diff --git a/services/docstore/Dockerfile b/services/docstore/Dockerfile
index dca56dff24..6c29b4dd62 100644
--- a/services/docstore/Dockerfile
+++ b/services/docstore/Dockerfile
@@ -2,7 +2,7 @@
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
WORKDIR /overleaf/services/docstore
diff --git a/services/docstore/Makefile b/services/docstore/Makefile
index 246b4b5101..bb7db64bee 100644
--- a/services/docstore/Makefile
+++ b/services/docstore/Makefile
@@ -30,7 +30,7 @@ HERE=$(shell pwd)
MONOREPO=$(shell cd ../../ && pwd)
# Run the linting commands in the scope of the monorepo.
# Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
format:
$(RUN_LINTING) format
diff --git a/services/docstore/buildscript.txt b/services/docstore/buildscript.txt
index 85c0e4bc07..88370c48ab 100644
--- a/services/docstore/buildscript.txt
+++ b/services/docstore/buildscript.txt
@@ -3,6 +3,7 @@ docstore
--docker-repos=gcr.io/overleaf-ops
--env-add=
--env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
--public-repo=True
--script-version=4.1.0
diff --git a/services/docstore/docker-compose.yml b/services/docstore/docker-compose.yml
index 877f233885..0d8493ab3a 100644
--- a/services/docstore/docker-compose.yml
+++ b/services/docstore/docker-compose.yml
@@ -6,7 +6,7 @@ version: "2.3"
services:
test_unit:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/docstore
- ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
user: node
test_acceptance:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/docstore
- ../../node_modules:/overleaf/node_modules
diff --git a/services/notifications/.nvmrc b/services/notifications/.nvmrc
index d9f880069d..5ab50cd8e9 100644
--- a/services/notifications/.nvmrc
+++ b/services/notifications/.nvmrc
@@ -1 +1 @@
-16.14.2
+14.18.3
diff --git a/services/notifications/Dockerfile b/services/notifications/Dockerfile
index b7c0ead6ea..7fe1184fd6 100644
--- a/services/notifications/Dockerfile
+++ b/services/notifications/Dockerfile
@@ -2,7 +2,7 @@
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
WORKDIR /overleaf/services/notifications
diff --git a/services/notifications/Makefile b/services/notifications/Makefile
index 4a8a625d1f..91e65d84cf 100644
--- a/services/notifications/Makefile
+++ b/services/notifications/Makefile
@@ -30,7 +30,7 @@ HERE=$(shell pwd)
MONOREPO=$(shell cd ../../ && pwd)
# Run the linting commands in the scope of the monorepo.
# Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
format:
$(RUN_LINTING) format
diff --git a/services/notifications/buildscript.txt b/services/notifications/buildscript.txt
index 45a91611bd..f3db5bf0c9 100644
--- a/services/notifications/buildscript.txt
+++ b/services/notifications/buildscript.txt
@@ -3,6 +3,7 @@ notifications
--docker-repos=gcr.io/overleaf-ops
--env-add=
--env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
--public-repo=True
--script-version=4.1.0
diff --git a/services/notifications/docker-compose.yml b/services/notifications/docker-compose.yml
index 2fb3afab9d..d815de7211 100644
--- a/services/notifications/docker-compose.yml
+++ b/services/notifications/docker-compose.yml
@@ -6,7 +6,7 @@ version: "2.3"
services:
test_unit:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/notifications
- ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
user: node
test_acceptance:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/notifications
- ../../node_modules:/overleaf/node_modules
diff --git a/services/real-time/.nvmrc b/services/real-time/.nvmrc
index d9f880069d..5ab50cd8e9 100644
--- a/services/real-time/.nvmrc
+++ b/services/real-time/.nvmrc
@@ -1 +1 @@
-16.14.2
+14.18.3
diff --git a/services/real-time/Dockerfile b/services/real-time/Dockerfile
index 94c589dea2..ed883fb584 100644
--- a/services/real-time/Dockerfile
+++ b/services/real-time/Dockerfile
@@ -2,7 +2,7 @@
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
WORKDIR /overleaf/services/real-time
diff --git a/services/real-time/Makefile b/services/real-time/Makefile
index 05333b3b4b..5991bddeee 100644
--- a/services/real-time/Makefile
+++ b/services/real-time/Makefile
@@ -30,7 +30,7 @@ HERE=$(shell pwd)
MONOREPO=$(shell cd ../../ && pwd)
# Run the linting commands in the scope of the monorepo.
# Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
format:
$(RUN_LINTING) format
diff --git a/services/real-time/buildscript.txt b/services/real-time/buildscript.txt
index 3ad7113b41..7894471894 100644
--- a/services/real-time/buildscript.txt
+++ b/services/real-time/buildscript.txt
@@ -3,6 +3,7 @@ real-time
--docker-repos=gcr.io/overleaf-ops
--env-add=
--env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
--public-repo=True
--script-version=4.1.0
diff --git a/services/real-time/docker-compose.yml b/services/real-time/docker-compose.yml
index 979d9df408..1e3f7c7e0d 100644
--- a/services/real-time/docker-compose.yml
+++ b/services/real-time/docker-compose.yml
@@ -6,7 +6,7 @@ version: "2.3"
services:
test_unit:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/real-time
- ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
user: node
test_acceptance:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/real-time
- ../../node_modules:/overleaf/node_modules
diff --git a/services/spelling/.nvmrc b/services/spelling/.nvmrc
index d9f880069d..5ab50cd8e9 100644
--- a/services/spelling/.nvmrc
+++ b/services/spelling/.nvmrc
@@ -1 +1 @@
-16.14.2
+14.18.3
diff --git a/services/spelling/Dockerfile b/services/spelling/Dockerfile
index 3a2268800d..0a946d9ace 100644
--- a/services/spelling/Dockerfile
+++ b/services/spelling/Dockerfile
@@ -2,7 +2,7 @@
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
WORKDIR /overleaf/services/spelling
COPY services/spelling/install_deps.sh /overleaf/services/spelling/
diff --git a/services/spelling/Makefile b/services/spelling/Makefile
index db6411fa4c..9ddeeedd76 100644
--- a/services/spelling/Makefile
+++ b/services/spelling/Makefile
@@ -30,7 +30,7 @@ HERE=$(shell pwd)
MONOREPO=$(shell cd ../../ && pwd)
# Run the linting commands in the scope of the monorepo.
# Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
format:
$(RUN_LINTING) format
diff --git a/services/spelling/buildscript.txt b/services/spelling/buildscript.txt
index 7043696cda..47ddd8a0cb 100644
--- a/services/spelling/buildscript.txt
+++ b/services/spelling/buildscript.txt
@@ -4,6 +4,7 @@ spelling
--docker-repos=gcr.io/overleaf-ops
--env-add=
--env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
--public-repo=False
--script-version=4.1.0
diff --git a/services/spelling/install_deps.sh b/services/spelling/install_deps.sh
index c88135e9ba..77dc28693d 100644
--- a/services/spelling/install_deps.sh
+++ b/services/spelling/install_deps.sh
@@ -2,11 +2,19 @@
set -ex
+echo 'APT::Default-Release "stretch";' >/etc/apt/apt.conf.d/default-release
+
# The following aspell packages exist in Ubuntu but not Debian:
# aspell-af, aspell-id, aspell-nr, aspell-ns, aspell-st, aspell-tn, aspell-ts, aspell-xhu
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main universe" > /etc/apt/sources.list.d/focal-amd.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal main universe" > /etc/apt/sources.list.d/focal-ports-arm.list
apt-key adv --no-tty --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
+# Need to install aspell-no from testing (buster) as broken in stable (stretch).
+echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
apt-get update
-apt-get install -y aspell aspell-en aspell-af aspell-ar aspell-ar-large aspell-bg aspell-br aspell-ca aspell-cs aspell-cy aspell-da aspell-de aspell-de-1901 aspell-el aspell-eo aspell-es aspell-et aspell-eu-es aspell-fa aspell-fo aspell-fr aspell-ga aspell-gl-minimos aspell-hr aspell-hsb aspell-id aspell-it aspell-kk aspell-ku aspell-lt aspell-lv aspell-nl aspell-no aspell-nr aspell-ns aspell-pa aspell-pl aspell-pt aspell-pt-br aspell-ro aspell-ru aspell-sk aspell-sl aspell-st aspell-sv aspell-tl aspell-tn aspell-ts aspell-xh
+apt-get install -y aspell aspell-en aspell-af aspell-ar aspell-ar-large aspell-bg aspell-br aspell-ca aspell-cs aspell-cy aspell-da aspell-de aspell-de-alt aspell-el aspell-eo aspell-es aspell-et aspell-eu-es aspell-fa aspell-fo aspell-fr aspell-ga aspell-gl-minimos aspell-hr aspell-hsb aspell-id aspell-it aspell-kk aspell-ku aspell-lt aspell-lv aspell-nl aspell-nr aspell-ns aspell-pa aspell-pl aspell-pt aspell-pt-br aspell-ro aspell-ru aspell-sk aspell-sl aspell-st aspell-sv aspell-tl aspell-tn aspell-ts aspell-xh
+
+printf 'Package: aspell-*\nPin: release a=unstable\nPin-Priority: 1337\n' \
+ > /etc/apt/preferences.d/aspell-from-unstable
+apt-get install aspell-no
diff --git a/services/spelling/test/acceptance/js/CheckTest.js b/services/spelling/test/acceptance/js/CheckTest.js
index 1204f831b4..76cb4f1774 100644
--- a/services/spelling/test/acceptance/js/CheckTest.js
+++ b/services/spelling/test/acceptance/js/CheckTest.js
@@ -27,26 +27,7 @@ describe('checking words', function () {
it('should return the list of misspellings', async function () {
const body = JSON.parse(response.body)
expect(body).to.deep.equal({
- misspellings: [
- {
- index: 0,
- suggestions: [
- 'anther',
- 'another',
- 'anthers',
- 'panther',
- 'anathema',
- 'anthem',
- 'nether',
- "anther's",
- 'ante',
- 'neither',
- 'norther',
- 'ether',
- 'other',
- ],
- },
- ],
+ misspellings: [{ index: 0, suggestions: ['anther', 'another'] }],
})
})
})
diff --git a/services/track-changes/.nvmrc b/services/track-changes/.nvmrc
index d9f880069d..5ab50cd8e9 100644
--- a/services/track-changes/.nvmrc
+++ b/services/track-changes/.nvmrc
@@ -1 +1 @@
-16.14.2
+14.18.3
diff --git a/services/track-changes/Dockerfile b/services/track-changes/Dockerfile
index e63a6eab66..656e4dc047 100644
--- a/services/track-changes/Dockerfile
+++ b/services/track-changes/Dockerfile
@@ -2,7 +2,7 @@
# Instead run bin/update_build_scripts from
# https://github.com/sharelatex/sharelatex-dev-environment
-FROM node:16.14.2 as base
+FROM gcr.io/overleaf-ops/node:14.18.3 as base
WORKDIR /overleaf/services/track-changes
diff --git a/services/track-changes/Makefile b/services/track-changes/Makefile
index 3bb89dba6c..732caa178b 100644
--- a/services/track-changes/Makefile
+++ b/services/track-changes/Makefile
@@ -30,7 +30,7 @@ HERE=$(shell pwd)
MONOREPO=$(shell cd ../../ && pwd)
# Run the linting commands in the scope of the monorepo.
# Eslint and prettier (plus some configs) are on the root.
-RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) node:16.14.2 npm run --silent
+RUN_LINTING = docker run --rm -v $(MONOREPO):$(MONOREPO) -w $(HERE) gcr.io/overleaf-ops/node:14.18.3 npm run --silent
format:
$(RUN_LINTING) format
diff --git a/services/track-changes/app/js/HttpController.js b/services/track-changes/app/js/HttpController.js
index 5194d7bcd7..3fd093ee47 100644
--- a/services/track-changes/app/js/HttpController.js
+++ b/services/track-changes/app/js/HttpController.js
@@ -238,7 +238,7 @@ module.exports = HttpController = {
UpdatesManager.exportProject(
project_id,
function (err, { updates, userIds }, confirmWrite) {
- const abortStreaming = req.destroyed || res.finished || res.destroyed
+ const abortStreaming = req.aborted || res.finished || res.destroyed
if (abortStreaming) {
// Tell the producer to stop emitting data
if (confirmWrite) confirmWrite(new Error('stop'))
diff --git a/services/track-changes/app/js/ZipManager.js b/services/track-changes/app/js/ZipManager.js
index b302cede97..3310e9c28d 100644
--- a/services/track-changes/app/js/ZipManager.js
+++ b/services/track-changes/app/js/ZipManager.js
@@ -162,7 +162,7 @@ async function makeTempDirectory() {
* Clean up a temporary directory made with makeTempDirectory()
*/
function cleanupTempDirectory(tmpdir) {
- fs.promises.rm(tmpdir, { recursive: true, force: true }).catch(err => {
+ fs.promises.rmdir(tmpdir, { recursive: true }).catch(err => {
if (err) {
logger.warn({ err, tmpdir }, 'Failed to clean up temp directory')
}
diff --git a/services/track-changes/buildscript.txt b/services/track-changes/buildscript.txt
index 29a7d32576..f3509b7b92 100644
--- a/services/track-changes/buildscript.txt
+++ b/services/track-changes/buildscript.txt
@@ -3,6 +3,7 @@ track-changes
--docker-repos=gcr.io/overleaf-ops
--env-add=AWS_BUCKET=bucket
--env-pass-through=
---node-version=16.14.2
+--node-image=gcr.io/overleaf-ops/node
+--node-version=14.18.3
--public-repo=True
--script-version=4.1.0
diff --git a/services/track-changes/docker-compose.yml b/services/track-changes/docker-compose.yml
index 3c19f637a5..90cd52ac6e 100644
--- a/services/track-changes/docker-compose.yml
+++ b/services/track-changes/docker-compose.yml
@@ -6,7 +6,7 @@ version: "2.3"
services:
test_unit:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/track-changes
- ../../node_modules:/overleaf/node_modules
@@ -20,7 +20,7 @@ services:
user: node
test_acceptance:
- image: node:16.14.2
+ image: gcr.io/overleaf-ops/node:14.18.3
volumes:
- .:/overleaf/services/track-changes
- ../../node_modules:/overleaf/node_modules