From 9af9d3a008798941eca93dc4cd8c023daf4e28e6 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Mon, 22 Mar 2021 18:41:54 -0700 Subject: [PATCH] chore: Bump ioredis for fixes chore: Remove sequelize language from user-facing db migrations --- README.md | 8 ++++---- package.json | 9 +++++---- server/main.js | 13 ++++++++++++- yarn.lock | 37 +++++++++++++++++++++---------------- 4 files changed, 42 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 1b49efb7..8ffc9ff6 100644 --- a/README.md +++ b/README.md @@ -44,10 +44,10 @@ For a manual self-hosted production installation these are the recommended steps 1. Using the [.env.sample](.env.sample) as a reference, set the required variables in your production environment. You can export the environment variables directly, or create a `.env` file and pass it to the docker image like so: `docker run --env-file=.env outlinewiki/outline` -1. Setup the database with `yarn sequelize:migrate`. Production assumes an SSL connection to the database by default, if -Postgres is on the same machine and is not SSL you can migrate with `yarn sequelize:migrate --env=production-ssl-disabled`, for example: +1. Setup the database with `yarn db:migrate`. Production assumes an SSL connection to the database by default, if +Postgres is on the same machine and is not SSL you can migrate with `yarn db:migrate --env=production-ssl-disabled`, for example: - `docker run --rm outlinewiki/outline yarn sequelize:migrate` + `docker run --rm outlinewiki/outline yarn db:migrate` 1. Start the container: `docker run outlinewiki/outline` @@ -68,7 +68,7 @@ Alternatively a community member maintains a script to deploy Outline on Google If you're running Outline with Docker you'll need to run migrations within the docker container after updating the image. The command will be something like: ```shell -docker run --rm outlinewiki/outline:latest yarn sequelize:migrate +docker run --rm outlinewiki/outline:latest yarn db:migrate ``` #### Git diff --git a/package.json b/package.json index 9ebb2c7a..bfbaa549 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,10 @@ "dev": "nodemon --exec \"yarn build:server && yarn build:i18n && node build/server/index.js\" -e js --ignore build/ --ignore app/", "lint": "eslint app server shared", "deploy": "git push heroku master", - "heroku-postbuild": "yarn build && yarn sequelize:migrate", - "sequelize:create-migration": "sequelize migration:create", + "heroku-postbuild": "yarn build && yarn db:migrate", "sequelize:migrate": "sequelize db:migrate", + "db:create-migration": "sequelize migration:create", + "db:migrate": "sequelize db:migrate", "upgrade": "git fetch && git pull && yarn install && yarn heroku-postbuild", "test": "yarn test:app && yarn test:server", "test:app": "jest", @@ -102,7 +103,7 @@ "immutable": "^3.8.2", "imports-loader": "0.6.5", "invariant": "^2.2.2", - "ioredis": "^4.14.1", + "ioredis": "^4.24.3", "isomorphic-fetch": "2.2.1", "joplin-turndown-plugin-gfm": "^1.0.12", "js-search": "^1.4.2", @@ -220,4 +221,4 @@ "js-yaml": "^3.13.1" }, "version": "0.54.0" -} +} \ No newline at end of file diff --git a/server/main.js b/server/main.js index e35a60ec..dfa1e6c9 100644 --- a/server/main.js +++ b/server/main.js @@ -1,5 +1,6 @@ // @flow import http from "http"; +import * as Sentry from "@sentry/node"; import IO from "socket.io"; import socketRedisAdapter from "socket.io-redis"; import SocketAuth from "socketio-auth"; @@ -111,7 +112,17 @@ SocketAuth(io, { // let this user know who else is already present in the room io.in(room).clients(async (err, sockets) => { - if (err) throw err; + if (err) { + if (process.env.SENTRY_DSN) { + Sentry.withScope(function (scope) { + scope.setExtra("clients", sockets); + Sentry.captureException(err); + }); + } else { + console.error(err); + } + return; + } // because a single user can have multiple socket connections we // need to make sure that only unique userIds are returned. A Map diff --git a/yarn.lock b/yarn.lock index 5e1dd5b1..1e33be29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4397,10 +4397,10 @@ de-indent@^1.0.2: resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= -debug@*, debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@*, debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" @@ -6768,21 +6768,21 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== -ioredis@^4.14.1: - version "4.19.2" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.19.2.tgz#e3eab394c653cea5aea07c0c784d8c772dce8801" - integrity sha512-SZSIwMrbd96b7rJvJwyTWSP6XQ0m1kAIIqBnwglJKrIJ6na7TeY4F2EV2vDY0xm/fLrUY8cEg81dR7kVFt2sKA== +ioredis@^4.14.1, ioredis@^4.24.3: + version "4.24.3" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.24.3.tgz#ba14c3621f751727f1b6c41c55ab26a7794018d5" + integrity sha512-ANE2YT2fCa+KE0EUmx8VMZuJ+LaTNVXhjyAUDAxom9nqJGAXzCbNBMcujrUSJbz6xc2ZMaMxGB5y10cfYo/0IA== dependencies: cluster-key-slot "^1.1.0" - debug "^4.1.1" + debug "^4.3.1" denque "^1.1.0" lodash.defaults "^4.2.0" lodash.flatten "^4.4.0" p-map "^2.1.0" - redis-commands "1.6.0" + redis-commands "1.7.0" redis-errors "^1.2.0" redis-parser "^3.0.0" - standard-as-callback "^2.0.1" + standard-as-callback "^2.1.0" ip-regex@^2.1.0: version "2.1.0" @@ -10940,11 +10940,16 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -redis-commands@1.6.0, redis-commands@^1.5.0: +redis-commands@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.6.0.tgz#36d4ca42ae9ed29815cdb30ad9f97982eba1ce23" integrity sha512-2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ== +redis-commands@1.7.0, redis-commands@^1.5.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.7.0.tgz#15a6fea2d58281e27b1cd1acfb4b293e278c3a89" + integrity sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ== + redis-errors@^1.0.0, redis-errors@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" @@ -12100,10 +12105,10 @@ stack-utils@^2.0.2: dependencies: escape-string-regexp "^2.0.0" -standard-as-callback@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.0.1.tgz#ed8bb25648e15831759b6023bdb87e6b60b38126" - integrity sha512-NQOxSeB8gOI5WjSaxjBgog2QFw55FV8TkS6Y07BiB3VJ8xNTvUYm0wl0s8ObgQ5NhdpnNfigMIKjgPESzgr4tg== +standard-as-callback@^2.0.1, standard-as-callback@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" + integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== static-extend@^0.1.1: version "0.1.2"