Commit graph

654 commits

Author SHA1 Message Date
Brian Gough
7ef6864204 Merge pull request #5066 from overleaf/bg-upgrade-access-token-encryptor
[access-token-encryptor] update package-lock.json

GitOrigin-RevId: 343061cfe70d9815a92928296c07934f4944a383
2021-09-13 08:03:21 +00:00
Brian Gough
fa2567aa61 Merge pull request #4980 from overleaf/bg-upgrade-metrics-dependencies
upgrade metrics dependencies

GitOrigin-RevId: 3fda4017ac4d5e1ab1e196051d557c10253924b7
2021-09-07 16:26:06 +00:00
Brian Gough
e8b37b2e7d Merge pull request #4946 from overleaf/bg-update-logger
[logger] update logger with security fixes

GitOrigin-RevId: b111393f9a1b0bf8b8241503e2aed841bb672e1b
2021-09-07 08:03:02 +00:00
Brian Gough
88a69257dc Merge pull request #4940 from overleaf/bg-add-prettier-and-eslint-to-latex-log-parser
add prettier and eslint to latex log parser

GitOrigin-RevId: 6985fb253c0e4935fae0bbae34823ab058dfb34c
2021-09-07 08:02:51 +00:00
Brian Gough
bea00ba3f0 Merge pull request #4723 from overleaf/dependabot-npm_and_yarn-libraries-logger-y18n-4.0.3
Bump y18n from 4.0.0 to 4.0.3 in /libraries/logger

GitOrigin-RevId: a153883f570fb1d50c84dd4668a0740c8bc47f84
2021-09-03 08:03:13 +00:00
Brian Gough
1d9badb92a Merge pull request #4724 from overleaf/dependabot-npm_and_yarn-libraries-logger-hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9 in /libraries/logger

GitOrigin-RevId: 3243e2e469911cb7545f9630d226f1ddb4f1aa81
2021-09-03 08:03:09 +00:00
Brian Gough
864fdb9ed8 Merge pull request #4722 from overleaf/dependabot-npm_and_yarn-libraries-logger-glob-parent-5.1.2
Bump glob-parent from 5.1.1 to 5.1.2 in /libraries/logger

GitOrigin-RevId: 8d94d68409faeefba56001f17016c4d376c4c275
2021-09-03 08:03:06 +00:00
Brian Gough
f1aa7243ce Merge pull request #4721 from overleaf/dependabot-npm_and_yarn-libraries-logger-path-parse-1.0.7
Bump path-parse from 1.0.6 to 1.0.7 in /libraries/logger

GitOrigin-RevId: 4b9a6f08ebbed697ff927a9104bcbbae322c983c
2021-09-03 08:03:02 +00:00
Brian Gough
fdaa0744dd Merge pull request #4725 from overleaf/dependabot-npm_and_yarn-libraries-logger-lodash-4.17.21
Bump lodash from 4.17.19 to 4.17.21 in /libraries/logger

GitOrigin-RevId: abab39757185c894857a4b79cf751360ebd238ef
2021-09-03 08:02:59 +00:00
Brian Gough
d4563c8786 Merge pull request #4866 from overleaf/bg-gcs-delete-directory-batch
make object-persistor delete gcs files in batches

GitOrigin-RevId: 8ebc892c5f6eb30507ec41d5d3a108e650af5cac
2021-08-27 08:03:25 +00:00
Hugh O'Brien
19bb96bb20 Merge pull request #4854 from overleaf/hb-decaf-log-parsers
Decaf log parsers

GitOrigin-RevId: 71c44b8ac86f7fd980b0547a4c5d49651a31d977
2021-08-25 08:04:06 +00:00
Jakob Ackermann
5679ba894b Merge pull request #4800 from overleaf/jpa-object-persistor-fix-404-handling
[object-persistor] handle 404s of the entire delete operation in gcs

GitOrigin-RevId: 41c5e70af069361a21adb53a6166081741666887
2021-08-19 08:02:43 +00:00
Jakob Ackermann
1bf89f7dd1 Merge pull request #4766 from overleaf/dependabot-npm_and_yarn-libraries-access-token-encryptor-lodash-4.17.21
Bump lodash from 4.17.15 to 4.17.21 in /libraries/access-token-encryptor

GitOrigin-RevId: 8c97a49c660629d5ec8335c145240cc2418fc218
2021-08-17 08:03:20 +00:00
Jakob Ackermann
0ecd6f34ff Merge pull request #4742 from overleaf/jpa-modernize-access-token-encryptor
[misc] modernize access token encryptor

GitOrigin-RevId: 178fe2ee2f97f2b3816e480b6283fdb127eb72d6
2021-08-17 08:03:17 +00:00
Jakob Ackermann
3ace29999b Merge pull request #4703 from overleaf/jpa-import-latex-log-parser
[misc] import latex log parser

GitOrigin-RevId: 2f02af8a58c130f97de51b952456b7a9615d4ed6
2021-08-13 12:58:28 +00:00
Jakob Ackermann
6a0388ff9b Merge pull request #4689 from overleaf/jpa-libraries-ci
[misc] setup cloud build trigger for libraries

GitOrigin-RevId: a66dd3e96cb1c06d4803a2162278959357694048
2021-08-13 12:56:39 +00:00
Eric Mc Sween
94117ea836 Merge pull request #4644 from overleaf/em-gitignore
Add node_modules to libraries/settings gitignore

GitOrigin-RevId: a6e5bc50ecb6dece03319e16c6c7c3d2318a7d74
2021-08-05 13:48:20 +00:00
Jakob Ackermann
dea32cc656
merge multiple repositories into an existing monorepo
- merged using: 'monorepo_add.sh libraries-settings:libraries/settings'
- see https://github.com/shopsys/monorepo-tools
2021-08-05 08:34:51 +01:00
Jakob Ackermann
e7fc1ffeb8
merge multiple repositories into an existing monorepo
- merged using: 'monorepo_add.sh libraries-redis-wrapper:libraries/redis-wrapper'
- see https://github.com/shopsys/monorepo-tools
2021-08-05 08:34:48 +01:00
Jakob Ackermann
30b7bceb60
merge multiple repositories into an existing monorepo
- merged using: 'monorepo_add.sh libraries-object-persistor:libraries/object-persistor'
- see https://github.com/shopsys/monorepo-tools
2021-08-05 08:34:44 +01:00
Jakob Ackermann
e2f74274c0
merge multiple repositories into an existing monorepo
- merged using: 'monorepo_add.sh libraries-o-error:libraries/o-error'
- see https://github.com/shopsys/monorepo-tools
2021-08-05 08:34:41 +01:00
Jakob Ackermann
02010d9f6e
merge multiple repositories into an existing monorepo
- merged using: 'monorepo_add.sh libraries-metrics:libraries/metrics'
- see https://github.com/shopsys/monorepo-tools
2021-08-05 08:34:37 +01:00
Jakob Ackermann
c72c6f5747
merge multiple repositories into an existing monorepo
- merged using: 'monorepo_add.sh libraries-logger:libraries/logger'
- see https://github.com/shopsys/monorepo-tools
2021-08-05 08:34:31 +01:00
Jakob Ackermann
cd9877d7d7 [misc] prepare for monorepo
- add git ignore entries
- create package-lock.json
2021-07-29 10:52:53 +01:00
dependabot[bot]
1be89b071b Bump y18n from 4.0.0 to 4.0.3
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/compare/v4.0.0...y18n-v4.0.3)

---
updated-dependencies:
- dependency-name: y18n
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-28 08:38:11 +00:00
Jakob Ackermann
a383dc316c [misc] run format:fix 2021-07-27 16:53:06 +01:00
Jakob Ackermann
d2589823b0 [misc] prepare for monorepo
- add git ignore entries
- sync/create package-lock.json
- delete .nvmrc
2021-07-27 16:52:55 +01:00
Jakob Ackermann
1f3587114f [misc] prepare for monorepo
- add git ignore entries
- sync/create package-lock.json
- delete .nvmrc
2021-07-27 16:41:40 +01:00
Jakob Ackermann
688a1092ce [misc] prepare for monorepo
- add git ignore entries
- sync/create package-lock.json
- delete .nvmrc
2021-07-27 16:41:13 +01:00
Jakob Ackermann
eaebef2298 [misc] prepare for monorepo
- add git ignore entries
- sync/create package-lock.json
- delete .nvmrc
2021-07-27 16:35:41 +01:00
Jakob Ackermann
25205ab967 [misc] prepare for monorepo
- add git ignore entries
- sync/create package-lock.json
- delete .nvmrc
2021-07-27 16:35:23 +01:00
Jakob Ackermann
23efa1d977 [misc] prepare for monorepo
- add git ignore entries
- sync/create package-lock.json
- delete .nvmrc
2021-07-27 16:33:33 +01:00
Jakob Ackermann
acc65b2518 [misc] fix path to app config/ dir following the renaming of the package
The Settings.js file is now located in node_modules/@overleaf/settings,
 which is one level deeper than node_modules/settings-sharelatex.
2021-07-06 15:19:30 +01:00
Jakob Ackermann
03f6e8af64 [misc] expose merge function in a separate module 2021-07-06 13:52:59 +01:00
Alf Eaton
955c9162c0 Rename to @overleaf/settings 2021-05-28 09:15:24 +01:00
Alf Eaton
9c0dbbc5c8 Remove CoffeeScript 2021-05-26 15:06:24 +01:00
decaffeinate
93f618a980 decaffeinate: Run post-processing cleanups on Settings.coffee 2021-05-26 14:24:24 +01:00
decaffeinate
2787cd6152 decaffeinate: Convert Settings.coffee to JS 2021-05-26 14:24:24 +01:00
decaffeinate
551eef00fb decaffeinate: Rename Settings.coffee from .coffee to .js 2021-05-26 14:24:23 +01:00
dependabot[bot]
3d38d900c3 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-13 10:27:11 +01:00
dependabot[bot]
67f8d430aa Bump lodash from 4.17.19 to 4.17.21 (#21)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 12:21:40 +01:00
dependabot[bot]
e1b06cbfa3 Bump handlebars from 4.7.6 to 4.7.7 (#20)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.6...v4.7.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 12:21:28 +01:00
dependabot[bot]
cee9c8cc36 Bump y18n from 4.0.0 to 4.0.3
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/compare/v4.0.0...y18n-v4.0.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 09:22:54 +00:00
Brian Gough
2b088dc870 increase package version number 2021-04-29 10:21:33 +01:00
Brian Gough
46da33a67e fix unit tests 2021-04-29 09:27:25 +01:00
Brian Gough
bf26b7d596 upgrade ioredis and dev dependencies 2021-04-29 09:20:58 +01:00
Alf Eaton
c7511970b0 v1.3.0 2021-04-28 09:33:59 +01:00
Alf Eaton
be098ee993 Update Settings.coffee
Co-authored-by: nate stemen <nate.stemen@overleaf.com>
2021-04-26 09:09:00 +01:00
Alf Eaton
cf1a5bf0f7 Add deprecation warning for .coffee settings files 2021-04-20 09:35:56 +01:00
dependabot[bot]
9203e26d99 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-02 04:45:14 +01:00
Christopher Hoskin
acef9e7d8d Add basic README 2021-03-16 12:03:53 +00:00
Alf Eaton
c4be8bca60 1.2.0 2021-03-16 09:20:34 +00:00
Alf Eaton
c16fb06ecd Log the settings files that are used 2021-03-11 11:07:32 +00:00
Jakob Ackermann
e1650616b8 [misc] version bump to 3.5.1 2021-02-16 14:21:36 +00:00
John Lees-Miller
354fd3c3a6 Bump version to 3.3.1 2021-01-26 12:10:25 +00:00
Alasdair Smith
5f1297548f Install core-js to fix issue with compiled module (#18)
Since Babel is configured to inject core-js built-ins where needed, we
must also install the core-js package.
2021-01-26 12:06:28 +00:00
John Lees-Miller
3a392fd8c1 Bump version to 3.3.0 2021-01-25 19:45:24 +00:00
Alasdair Smith
1e1d493556 Add corejs config to allow polyfilling of Symbol for IE11 (#17) 2021-01-22 12:12:07 +00:00
Alasdair Smith
f1ed04cc58 Transpile with Babel to ES5 (#16) 2021-01-22 10:29:31 +00:00
Jakob Ackermann
20223d865f [misc] do not register a noop sweeping interval 2021-01-12 14:20:51 +00:00
Jakob Ackermann
29742d6a87 [misc] register the metrics sweeping interval handle for later cleanup 2021-01-12 14:20:31 +00:00
Eric Mc Sween
3581d0ce87 3.5.0 2021-01-11 08:03:49 -05:00
Eric Mc Sween
8dcbd5aec0 Add support for the swagger-tools router
The swagger-tools router puts the request path in the
req.swagger.apiPath property.
2021-01-08 14:53:29 -05:00
Eric Mc Sween
7274217d79 Decaf cleanup 2021-01-08 14:48:13 -05:00
Jakob Ackermann
96b585544a [misc] version bump to 3.2.0
- [OError] getFullInfo returns the error context of nested causes (#14)
2020-12-02 12:32:41 +00:00
Jakob Ackermann
a5e5d9b1cd [OError] getFullInfo returns the error context of nested causes (#14)
* [OError] add getFullInfoIncludeCause for retrieving nested cause info

* Revert "[OError] add getFullInfoIncludeCause for retrieving nested cause info"

This reverts commit 4c7517255a0f37ba94223e559a3926f19bab618d

* [OError] getFullInfo returns the error context of nested causes

* [OError] getFullInfo flip sequence of merging, add test case for it
2020-12-02 11:44:17 +00:00
Jakob Ackermann
8e76e79a83 [misc] version bump to 3.4.1 2020-11-25 11:25:27 +00:00
Jakob Ackermann
6452959482 [misc] do not access potentially undefined opts 2020-11-11 11:35:33 +00:00
Jakob Ackermann
e34f17a352 [misc] creating a redis client with redis-sentinel opts throws an error 2020-11-11 11:31:44 +00:00
Jakob Ackermann
bcd5abadce [misc] version bump to 2.0.0 2020-11-10 10:46:42 +00:00
Jakob Ackermann
41aa5ec876 [misc] rename package to @overleaf/redis-wrapper 2020-11-10 10:46:41 +00:00
Jakob Ackermann
d7eb8c7ecf [misc] refresh package.json
- trim down the files for publishing
- drop sentinel from description
- Overleaf is the new author
- add repository reference
2020-11-10 10:46:41 +00:00
Jakob Ackermann
aabe2d18b9 [misc] rewrite: squash history
- promisify
- merge health check for single node and cluster
- replace the first multi with simple SET in health check
- reworked health check with o-error context/stack-traces for failures
- drop console.error on health check timeout, consumer logs the error
- cleanup unwrapping of ioredis multi result
- Promise support for multi.exec

This has been squashed from das7pad s fork.
REF: b3dd8c5cf4cc6482fd450e6bb67013508844f93f
2020-11-10 10:34:06 +00:00
Jakob Ackermann
ccf4bb1e0e [misc] test/scripts: use logger-sharelatex for logging as in production 2020-11-10 10:15:03 +00:00
Jakob Ackermann
d827b521c6 [misc] test/unit: loosely match the passed redis options
The rewrite will pass a cloned object through.
2020-11-10 10:10:22 +00:00
Jakob Ackermann
4aebc1b0b6 [misc] rewrite: free functions 2020-11-10 10:10:22 +00:00
Jakob Ackermann
da8bef821b [misc] decaffeinate: decaffeinate module 2020-11-10 10:10:21 +00:00
Jakob Ackermann
c973c5b188 [misc] decaffeinate: rename 2/2 2020-11-10 10:10:21 +00:00
Jakob Ackermann
45bf2abb14 [misc] decaffeinate: rename 1/2 2020-11-10 10:10:20 +00:00
Jakob Ackermann
830d6275b3 [misc] add scripts for testing redis cluster 2020-11-10 10:10:06 +00:00
Jakob Ackermann
7b69cc42c9 [misc] decaffeinate tests: decaffeinate unit tests 2020-11-09 17:52:29 +00:00
Jakob Ackermann
7210b3dfed [misc] decaffeinate tests: decaffeinate standalone script 2020-11-09 17:52:20 +00:00
Jakob Ackermann
0a2171e9f0 [misc] decaffeinate tests: rename 2020-11-09 16:57:08 +00:00
Jakob Ackermann
1a090b7b46 [misc] add editor config, eslint, prettier boiler plate
versions taken from o-error (prettier-eslint-cli from real-time)
2020-11-09 16:56:56 +00:00
Jakob Ackermann
7eccce2ed0 [misc] reference module via js/loose file extension 2020-11-09 16:16:11 +00:00
Jakob Ackermann
69df7f5bb3 [misc] move test scripts into test/ tree 2020-11-09 16:11:11 +00:00
Jakob Ackermann
39809562fd [misc] use plain mocha for testing and bump devDependencies 2020-11-09 16:03:33 +00:00
Jakob Ackermann
dddb431034 [misc] drop unused async
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-11-09 16:02:30 +00:00
Jakob Ackermann
a53eef5e3d [healthCheck] bring back support for redis cluster
Assume `cluster-require-full-coverage=yes` is set for the redis cluster,
 which is the default value.

We are writing into a single hash slot, resulting in a partial health
 check only.
The 'cluster-require-full-coverage=yes' blocks writes as soon as any
 hash slot is not covered by an active primary.
We are leveraging the health check build into the redis cluster topology
 to bring the scope of the single read/write/delete to the full cluster.

REF: 1b3566d6c830289dc826da1d13b75d68205d8dec
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-11-09 16:02:29 +00:00
Jakob Ackermann
18fa184230 [misc] drop references for 'redis' package from unit tests 2020-11-09 16:02:25 +00:00
Jakob Ackermann
90ad28c51c [misc] drop support for redis-sentinel 2020-11-09 15:59:28 +00:00
Jakob Ackermann
2d1c84ea2e [misc] fix collection of open sockets
```
> require('http').globalAgent.sockets
{ 'HOST:PORT:': [{ ... }, { ... }] }
```

- `new URL('http://HOST:PORT:')` throws
  -> test suite `open_sockets`
- gauges were not cleaned up after no agents were present for a given
   key. This lead to continuous emission of the previous connection
   count for a given hostname, following the completion of all requests.
  -> test suite `when all requests complete`
2020-11-06 15:16:14 +00:00
Eric Mc Sween
142d9a5716 3.4.0 2020-10-30 07:39:47 -04:00
Eric Mc Sween
20b3d5070c Export a configured prom-client
Metrics.initialize() and Metrics.configure() will configure the default
Prometheus registry with default "app" and "host" labels. The configured
prom-client module is available as Metrics.prom.
2020-10-29 09:49:55 -04:00
Christopher Hoskin
725478d95f Release 3.3.0 2020-10-27 14:02:21 +00:00
Christopher Hoskin
f874291998 Bump google-cloud trace-agent, debug-agent and profiler to latest 2020-10-26 17:40:18 +00:00
Christopher Hoskin
d4a649353f Commit package-lock.json 2020-10-26 17:33:43 +00:00
Christopher Hoskin
fedc3191b8 Bump node to 10.19 2020-10-26 17:33:24 +00:00
Eric Mc Sween
0fdfa706f7 Make 404 error handling on deletes more specific
The GCS persistor error handler ignores 404 errors on deletes. However,
the net is too wide cast, and 404 errors coming from the dual-bucket
lifecycle mechanism are also ignored.
2020-10-15 10:35:52 -04:00
Simon Detheridge
60931b86c3 Don't try to delete files if none are found in a directory 2020-10-13 09:53:19 +01:00
John Lees-Miller
9b739f1c7d Bump version to 3.1.0 2020-09-25 16:10:12 +01:00
Eric Mc Sween
9089d332ab Add a "unsignedUrls" option to the GCS persistor
This boolean option disables URL signing. Instead, getRedirectUrl()
returns the plain GCS download URL.
2020-09-22 15:59:13 -04:00
Eric Mc Sween
0fdbb2dcc0 Add .npmignore to avoid publishing config files 2020-09-17 10:44:24 -04:00
Eric Mc Sween
bd1a1dbabf 3.2.1 2020-09-17 10:40:34 -04:00
Eric Mc Sween
2f35db4087 Fix startup crash
Version 3.2.0 crashes on startup because it calls buildPromKey() without
arguments. To avoid this kind of obvious bug to happen again, I added
some basic acceptance tests.
2020-09-17 10:30:25 -04:00
John Lees-Miller
258cc08717 Add a limit on the number of tags, OError.maxTags (#13)
* Add OError.maxTags

* Tidy up package scripts and add a build script

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
2020-09-17 15:17:44 +01:00
Eric Mc Sween
c413f4d8a4 Fixed some function names in the docs 2020-09-15 16:13:58 -04:00
Eric Mc Sween
ec0441bc89 3.2.0 2020-09-15 08:37:05 -04:00
Eric Mc Sween
c05bd83e24 Add a separate configure() method
configure() sets options in the metrics module, but does not start the
default metrics collectors and the profiling agents.
2020-09-15 08:36:03 -04:00
Eric Mc Sween
3c9c17c22f Remove "using prometheus" log
We now always use prometheus
2020-09-11 15:59:38 -04:00
Eric Mc Sween
6f69fb4869 Decaf cleanup: move functions to top level 2020-09-11 15:59:38 -04:00
Eric Mc Sween
afecfd5212 Decaf cleanup: use default parameters 2020-09-11 15:59:38 -04:00
Eric Mc Sween
d7e4b3fe33 Decaf cleanup: unnecessary returns 2020-09-11 15:59:38 -04:00
Eric Mc Sween
6c020f6e54 Decaf cleanup: remove Array.from() 2020-09-11 15:59:38 -04:00
Eric Mc Sween
971a768c4e Install prettier and eslint 2020-09-11 15:59:33 -04:00
John Lees-Miller
ea2d76de51 Improve tagging for a (maybe) null error (#12)
* Document a way of handling an error that might be null

* Make typecheck strict

* Test some edge cases

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-09-11 10:05:54 +01:00
Brian Gough
c530422f1e update package version to 3.1.0 2020-09-04 15:52:05 +01:00
Jakob Ackermann
71ba4150fe [misc] enable compression for the /metrics route 2020-09-04 15:32:48 +01:00
Brian Gough
b6b65b9638 Merge pull request #39 from overleaf/jpa-res-headers-public-api
[http] use public node api for getting the response content-length
2020-09-04 14:52:20 +01:00
Eric Mc Sween
967dde280e Disable auto-decompression in GCS persistor
The GCS library automatically decompresses files with Content-encoding:
gzip. This is very useful, but the S3 library doesn't do that, so we
need to disable the feature in GCS so that it behaves the same way other
persistors behave.
2020-08-18 16:04:54 -04:00
Jakob Ackermann
6f4829e817 [misc] fix module importing 2020-08-17 14:43:08 +01:00
Jakob Ackermann
37fda043d4 [http] use public node api for getting the response content-length 2020-08-17 11:59:18 +01:00
Christopher Hoskin
a66708a319 Ignore error 2020-08-11 10:56:51 +01:00
Christopher Hoskin
8649277c9f Format:fix 2020-08-11 10:55:03 +01:00
Christopher Hoskin
ea502a0623 Put LoggingManager.initialize back as it was in tests 2020-08-11 10:52:53 +01:00
Christopher Hoskin
20f2e1eb1d Don't catch checkLogLevel 2020-08-11 10:48:44 +01:00
Christopher Hoskin
9b21292b44 Ensure fetchResponse.text is a string in sinon stub 2020-08-11 10:47:31 +01:00
Christopher Hoskin
46b22b30c7 Fix test description 2020-08-11 09:46:52 +01:00
Christopher Hoskin
3a2ff4e7b5 Merge branch 'master' into csh-metadata-fallback-node-fetch 2020-08-11 09:44:28 +01:00
Simon Detheridge
1115e1a1e6 Add default parameter for 'opts' in MigrationPersistor.getObjectStream 2020-08-10 16:44:37 +01:00
Brian Gough
e5747fefd2 remove package-lock.json (not needed for library) 2020-08-06 14:52:07 +01:00
Brian Gough
5b39d49358 use scoped package name @overleaf/metrics 2020-08-05 11:27:56 +01:00
Jakob Ackermann
397d5c8f1f [misc] fix prettier-eslint glob for real -- include tests 2020-07-31 13:26:28 +01:00
Christopher Hoskin
e32411eaaa Clean up acceptance tests 2020-07-30 15:23:04 +01:00
Christopher Hoskin
57ef07dc67 lint and format 2020-07-30 15:08:22 +01:00
Christopher Hoskin
8376cf1ca2 Get acceptance tests working 2020-07-30 15:06:32 +01:00
Christopher Hoskin
6917847b10 catch 2020-07-30 14:45:49 +01:00
Christopher Hoskin
74e2a5eaa1 WIP 2020-07-30 13:53:48 +01:00
Christopher Hoskin
1ca6269aa5 Bump version to 2.2.0 2020-07-24 12:18:33 +01:00
Christopher Hoskin
d42bd2da50 Tidy up 2020-07-24 12:17:31 +01:00
Christopher Hoskin
6bc0d15d78 LOG_LEVEL_SOURCE env taking values file, gce_metadata or none, default file 2020-07-24 11:59:23 +01:00
Christopher Hoskin
0a15fedb34 Remove debug logs 2020-07-24 09:12:59 +01:00
Christopher Hoskin
02356c7f27 All logging manager tests working 2020-07-24 09:12:59 +01:00
Christopher Hoskin
6961f41488 Promisfy log level checks 2020-07-24 09:12:59 +01:00
Christopher Hoskin
6b8dd86a26 WIP 2020-07-24 09:12:59 +01:00
Christopher Hoskin
14bac39222 Add MOCHA_GREP for testing 2020-07-24 09:12:59 +01:00
Christopher Hoskin
40a08bebdb WIP 2020-07-24 09:12:59 +01:00
Christopher Hoskin
50d2856841 Re-instate metadata request as fallback for CLSI 2020-07-24 09:12:59 +01:00
Simon Detheridge
8037208800 Bump dependency versions 2020-07-23 10:33:01 +01:00
dependabot[bot]
98e4444585 Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-18 15:48:52 +00:00
dependabot[bot]
2c088b3d20 Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-17 17:09:14 +00:00
Brian Gough
d415ae0cbe remove gruntfile 2020-07-17 16:23:01 +01:00
Brian Gough
a0f856cff2 fix tests 2020-07-17 16:17:18 +01:00
Brian Gough
747a80b545 decaffeinate 2020-07-17 16:01:58 +01:00
Brian Gough
e31a819636 remove statsd 2020-07-17 15:36:37 +01:00
Eric Mc Sween
6521837993 Add S3 options: httpOptions, maxRetries 2020-07-09 17:50:05 -04:00
Eric Mc Sween
3e7e4369af Implement getRedirectUrl() for the S3 backend 2020-07-08 17:13:20 -04:00
Eric Mc Sween
523ff9c4cd Support metadata when uploading objects
Add contentType and contentEncoding options to sendStream(). These
options will set the corresponding metadata on the object.

This changes the API. The fourth argument to sendStream() used to be the
source md5. Now, it's an options object and the source md5 is a property
of that object.
2020-07-08 08:13:53 -04:00
Simon Detheridge
990bacf3c2 Update to OError3 2020-07-07 10:40:37 +01:00
Eric Mc Sween
e197e4dc11 2.7.0 2020-07-06 08:20:02 -04:00
Eric Mc Sween
d69195eaa9 Log requests that don't have a route property
The v1 history service has its routes set up via swagger-tools, which
doesn't write a route property on the request. This prevents us to send
request metrics based on the route, but we can still log the request.
2020-07-03 16:38:29 -04:00
Simon Detheridge
7369e2f339 Add .circleci/config.yml and fix errors 2020-07-03 11:59:34 +01:00
Simon Detheridge
e92b75a2f8 Create new module from overleaf/filestore persistors (#1)
* Create new module from overleaf/filestore persistors

* Convert persistors to ES6 classes with local settings

* Update README.md

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

* Update README.md

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

* Update .gitignore

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

* Switch to AGPL license

* Paginate S3 list-object results

* Remove S3 client caching

* Clean up S3 md5-verification mechanism

* Update README for recent changes

* Update README.md

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

* Remove package-lock

* Remove comment about FileHandler

* Add directory marker to FSPersistor.deleteDirectory

* Don't copy opts in GcsPersistor.getObjectStream

* Use Date.now instead of getTime

* Catch errors in migration persistor

* Check that settings.buckets exists

* Don't mutate options in ObserverStream constructor

* Update src/PersistorHelper.js

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

* Lint and format fixes

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
2020-07-02 14:19:45 +01:00
Jakob Ackermann
e61b1124bb [misc] bump eslint to 7.3.1 2020-07-02 12:15:22 +01:00
Jakob Ackermann
97407980db [misc] monkey patch prettier-eslint basepath 2020-07-02 12:12:07 +01:00
Christopher Hoskin
102c7524c9 Re-generate package-lock.json 2020-07-02 11:12:07 +01:00
Christopher Hoskin
db5084d30f Updrade runtime dependencies 2020-07-02 11:08:10 +01:00
Christopher Hoskin
bcaee67a5c Bump sinon and sandboxed-module 2020-07-02 11:04:21 +01:00
Christopher Hoskin
fcd4a60657 Make prettier 2020-07-02 11:01:23 +01:00
Christopher Hoskin
4c8d29af59 Update mocha and prettier 2020-07-02 11:00:28 +01:00
Christopher Hoskin
edbf7220df 2.1.1 2020-07-02 10:53:42 +01:00
Christopher Hoskin
d695a40a61 Lint 2020-07-02 10:51:37 +01:00
Christopher Hoskin
b932a8127b Bump eslint plugins 2020-07-02 10:46:37 +01:00
Christopher Hoskin
52649c9d0b 2.1.0 2020-06-30 14:00:15 +01:00
Christopher Hoskin
fa8df5cc0b Format:fix 2020-06-30 13:56:13 +01:00
Christopher Hoskin
9e54503d1b Add prettier-eslint-cli to dev-dependencies 2020-06-30 13:55:24 +01:00
Christopher Hoskin
c93ee44879 Update acorn dependency (via eslint) https://github.com/advisories/GHSA-6chw-6frg-f759 2020-06-30 13:53:34 +01:00
Christopher Hoskin
9437266dcb Merge branch 'master' into jpa-csh-tracing-end-time-from-fs 2020-06-19 11:41:15 +01:00
Miguel Serrano
12e3afb174 Bumped major version 2020-06-03 10:20:43 +02:00
Miguel Serrano
da0f2d5e75 Updated .nvmrc to latest LTS 2020-06-03 10:19:58 +02:00
Miguel Serrano
c602d536d2 updated OError to v3 2020-06-03 10:19:45 +02:00
Brian Gough
cd6e36d7dc upgrade ioredis to 4.17.3 2020-06-01 09:11:57 +01:00
John Lees-Miller
6cc03cad0c Add coverage 2020-05-15 17:18:01 +01:00
John Lees-Miller
c9d9982615 Update package.json metadata 2020-05-15 16:50:37 +01:00
Jakob Ackermann
5aad5db40f [checkLogLevel] read the updated tracing end time from disk 2020-05-15 13:39:35 +02:00
John Lees-Miller
d2f47e69a8 Bump version to 3.0.0 2020-05-15 11:25:12 +01:00
John Lees-Miller
fd6ea2bb70 Add typescript types 2020-05-15 11:24:14 +01:00
John Lees-Miller
497f2a7936 Make tag check stricter and use a map 2020-05-15 11:07:08 +01:00
John Lees-Miller
4b0060f0b1 Remove HTTPErrors from v3 2020-05-15 10:45:08 +01:00
John Lees-Miller
90494fd75f Fix demo require path 2020-05-15 10:36:00 +01:00
John Lees-Miller
8af22ae878 Improve assertion messages in test utility 2020-05-15 10:32:18 +01:00
John Lees-Miller
c44054a31b Add cast for the fake TaggedError 2020-05-05 09:06:15 +01:00
John Lees-Miller
fc197630be Avoid capturing stack trace twice
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
2020-05-05 09:02:11 +01:00
John Lees-Miller
6078aa963d Add typecheck to CI 2020-04-30 10:29:23 +01:00
John Lees-Miller
f6eb185f84 Update README for v3 2020-04-30 10:29:23 +01:00
John Lees-Miller
09cd72d51c Rework to favor tagging over wrapping 2020-04-29 21:08:58 +01:00
John Lees-Miller
1a38f4e4ff Add typescript for type checking 2020-04-29 21:03:41 +01:00
John Lees-Miller
c46075aaab Make constructor take only message and info 2020-04-17 15:45:08 +01:00
John Lees-Miller
c000bdc43c Add standard and fix complaints 2020-04-17 10:59:27 +01:00
John Lees-Miller
4b903626b4 Apply linting rules 2020-04-17 09:14:35 +01:00