From b04933177785a011176e6712fd61fcbbdf849e34 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Mon, 23 Mar 2020 10:48:55 +0100 Subject: [PATCH 1/5] [misc] fix decaff cleanup for reportedToSentry Previously it would bailout of the loop after processing ANY attribute. REF: 6fe4dcbf32720282821d42140ab92593866e0772 --- libraries/logger/logging-manager.js | 2 -- .../logger/test/unit/loggingManagerTests.js | 26 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/libraries/logger/logging-manager.js b/libraries/logger/logging-manager.js index f840771a8e..af67ae0ad3 100644 --- a/libraries/logger/logging-manager.js +++ b/libraries/logger/logging-manager.js @@ -134,13 +134,11 @@ const Logger = (module.exports = { this.raven.captureException(error, { tags, extra, level }) // put a flag on the errors to avoid reporting them multiple times - const result = [] for (key in attributes) { value = attributes[key] if (value instanceof Error) { value.reportedToSentry = true } - return result } } catch (err) { // ignore Raven errors diff --git a/libraries/logger/test/unit/loggingManagerTests.js b/libraries/logger/test/unit/loggingManagerTests.js index f94d92f9cf..f5cd9e4827 100644 --- a/libraries/logger/test/unit/loggingManagerTests.js +++ b/libraries/logger/test/unit/loggingManagerTests.js @@ -257,6 +257,32 @@ describe('LoggingManager', function() { this.logger.error({ foo: 'bar' }, 'message') this.captureException.callCount.should.equal(10) }) + + describe('reportedToSentry', function() { + it('should mark the error as reported to sentry', function() { + const err = new Error() + this.logger.error({ err }, 'message') + expect(this.captureException.called).to.equal(true) + expect(err.reportedToSentry).to.equal(true) + }) + + it('should mark two errors as reported to sentry', function() { + const err1 = new Error() + const err2 = new Error() + this.logger.error({ err: err1, err2 }, 'message') + expect(this.captureException.called).to.equal(true) + expect(err1.reportedToSentry).to.equal(true) + expect(err2.reportedToSentry).to.equal(true) + }) + + it('should not mark arbitrary objects as reported to sentry', function() { + const err = new Error() + const ctx = { foo: 'bar' } + this.logger.error({ err, ctx }, 'message') + expect(this.captureException.called).to.equal(true) + expect(ctx.reportedToSentry).to.equal(undefined) + }) + }) }) describe('checkLogLevel', function() { From 2137c7a42ca267eb092cb16f2fe775989f1744f8 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Mon, 23 Mar 2020 13:06:32 +0100 Subject: [PATCH 2/5] [misc] version bump to 1.9.1 --- libraries/logger/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/logger/package.json b/libraries/logger/package.json index c1214c5d1a..8742b8c840 100644 --- a/libraries/logger/package.json +++ b/libraries/logger/package.json @@ -7,7 +7,7 @@ "url": "http://github.com/sharelatex/logger-sharelatex.git" }, "license": "AGPL-3.0-only", - "version": "1.9.0", + "version": "1.9.1", "scripts": { "test": "mocha test/**/*.js", "format": "prettier-eslint '**/*.js' --list-different", From c602d536d2a25beac327dace4a0464f6ac0b52cb Mon Sep 17 00:00:00 2001 From: Miguel Serrano Date: Wed, 3 Jun 2020 10:19:45 +0200 Subject: [PATCH 3/5] updated OError to v3 --- libraries/logger/package-lock.json | 8 ++++---- libraries/logger/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/logger/package-lock.json b/libraries/logger/package-lock.json index 6973a88333..57cf4ea0d1 100644 --- a/libraries/logger/package-lock.json +++ b/libraries/logger/package-lock.json @@ -1,6 +1,6 @@ { "name": "logger-sharelatex", - "version": "1.9.0", + "version": "1.9.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -140,9 +140,9 @@ } }, "@overleaf/o-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@overleaf/o-error/-/o-error-2.1.0.tgz", - "integrity": "sha512-Zd9sks9LrLw8ErHt/cXeWIkyxWAqNAvNGn7wIjLQJH6TTEEW835PWOhpch+hQwwWsTxWIx/JDj+IpZ3ouw925g==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@overleaf/o-error/-/o-error-3.0.0.tgz", + "integrity": "sha512-LsM2s6Iy9G97ktPo0ys4VxtI/m3ahc1ZHwjo5XnhXtjeIkkkVAehsrcRRoV/yWepPjymB0oZonhcfojpjYR/tg==" }, "@protobufjs/aspromise": { "version": "1.1.2", diff --git a/libraries/logger/package.json b/libraries/logger/package.json index 8742b8c840..804703b650 100644 --- a/libraries/logger/package.json +++ b/libraries/logger/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@google-cloud/logging-bunyan": "^2.0.0", - "@overleaf/o-error": "^2.0.0", + "@overleaf/o-error": "^3.0.0", "bunyan": "1.8.12", "raven": "1.1.3", "request": "2.88.0", From da0f2d5e752f0d43bc13725ed12a4978cf378440 Mon Sep 17 00:00:00 2001 From: Miguel Serrano Date: Wed, 3 Jun 2020 10:19:58 +0200 Subject: [PATCH 4/5] Updated .nvmrc to latest LTS --- libraries/logger/.nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/logger/.nvmrc b/libraries/logger/.nvmrc index d87edbfc10..49c17b70d2 100644 --- a/libraries/logger/.nvmrc +++ b/libraries/logger/.nvmrc @@ -1 +1 @@ -4.2.1 \ No newline at end of file +10.21.0 \ No newline at end of file From 12e3afb174931ce302f1df087bc4aa301154f0ac Mon Sep 17 00:00:00 2001 From: Miguel Serrano Date: Wed, 3 Jun 2020 10:20:43 +0200 Subject: [PATCH 5/5] Bumped major version --- libraries/logger/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/logger/package.json b/libraries/logger/package.json index 804703b650..d68e01e486 100644 --- a/libraries/logger/package.json +++ b/libraries/logger/package.json @@ -7,7 +7,7 @@ "url": "http://github.com/sharelatex/logger-sharelatex.git" }, "license": "AGPL-3.0-only", - "version": "1.9.1", + "version": "2.0.0", "scripts": { "test": "mocha test/**/*.js", "format": "prettier-eslint '**/*.js' --list-different",