From 1fe40cd5460c213f428bed4372d851667c2fcf85 Mon Sep 17 00:00:00 2001 From: Maximilian Stoiber Date: Sat, 25 Aug 2018 13:20:47 +0200 Subject: [PATCH 01/21] Turn off SW caching This might fix all our sw stuff, let's see! --- config-overrides.js | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/config-overrides.js b/config-overrides.js index aceac572ec..25df5545e2 100644 --- a/config-overrides.js +++ b/config-overrides.js @@ -102,18 +102,8 @@ module.exports = function override(config, env) { }); config.plugins.push( new OfflinePlugin({ - // 1. Download and cache the app shell, the bootstrap JS and the main bundle when SW is installed/updated. If downloading of any of them fails, abort caching anything - // 2. Download and cache all JS chunks when SW is installed/updated. If downloading some of them fails, cache those specific ones on-demand, i.e. when they are requested by the main bundle - // 3. Everything else cache on-demand - caches: - process.env.NODE_ENV === 'development' - ? {} - : { - main: ['index.html', '**/*main.*js', '**/*bootstrap.*js'], - additional: ['**/*.chunk.js'], - optional: [':rest:', ':externals:'], - }, - safeToUseOptionalCaches: true, + // We don't want to cache anything + caches: {}, externals, autoUpdate: true, // NOTE(@mxstbr): Normally this is handled by setting @@ -122,18 +112,8 @@ module.exports = function override(config, env) { // which means we have to manually do this and filter any of those routes out cacheMaps: [ { - match: function(url) { - var EXTERNAL_PATHS = ['/api', '/auth']; - if ( - EXTERNAL_PATHS.some(function(path) { - return url.pathname.indexOf(path) === 0; - }) - ) - return false; - // This function will be stringified and injected into the ServiceWorker on the client, where - // location will be a thing - // eslint-disable-next-line no-restricted-globals - return new URL('./index.html', location); + match() { + return false; }, requestTypes: ['navigate'], }, From 28d00f8454bbdf91833f1ce0323d8547e5f80dd1 Mon Sep 17 00:00:00 2001 From: Maximilian Stoiber Date: Sat, 25 Aug 2018 14:55:14 +0200 Subject: [PATCH 02/21] Fix syntax --- config-overrides.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-overrides.js b/config-overrides.js index 25df5545e2..40dcc92a2b 100644 --- a/config-overrides.js +++ b/config-overrides.js @@ -112,7 +112,7 @@ module.exports = function override(config, env) { // which means we have to manually do this and filter any of those routes out cacheMaps: [ { - match() { + match: function() { return false; }, requestTypes: ['navigate'], From c555b25c00dfb75acaef0a561f825d4da4f83520 Mon Sep 17 00:00:00 2001 From: Maximilian Stoiber Date: Sat, 25 Aug 2018 15:05:16 +0200 Subject: [PATCH 03/21] Remove custom --- src/components/link/index.js | 51 +++--------------------------------- src/components/link/props.js | 49 ---------------------------------- src/index.js | 4 --- 3 files changed, 3 insertions(+), 101 deletions(-) delete mode 100644 src/components/link/props.js diff --git a/src/components/link/index.js b/src/components/link/index.js index 9487a357cd..960a34e372 100644 --- a/src/components/link/index.js +++ b/src/components/link/index.js @@ -1,50 +1,5 @@ // @flow -// This is our custom component which applies an app update if one is available. -// See https://zach.codes/handling-client-side-app-updates-with-service-workers/ for more info -import React from 'react'; -import { Link, withRouter } from 'react-router-dom'; -import { createLocation } from 'history'; -import LINK_PROPS from './props'; +// TODO(@mxstbr): Get rid of this file and replace all occurences with the import from react-router-dom +import { Link } from 'react-router-dom'; -type Props = { - onClick?: Function, - to: string | Object, - replace: boolean, - history: Object, -}; - -// Filter out all props that are invalid on an `a` element. -const filterProps = (props: Object) => { - const addToProps = (acc, prop) => { - acc[prop] = props[prop]; - - return acc; - }; - - // All attributes starting with `data-` are valid HTML5 attributes. - const dataAttributesProps = Object.keys(props).filter(propName => - propName.startsWith('data-') - ); - const allowedProps = LINK_PROPS.reduce(addToProps, {}); - - return dataAttributesProps.reduce(addToProps, allowedProps); -}; - -export default withRouter((props: Props) => ( - { - if (props.onClick) props.onClick(evt); - if (evt.metaKey || evt.ctrlKey) return; - if (window.appUpdateAvailable === true) { - evt.preventDefault(); - // This is copied from react-router's component and is basically what it does internally - const location = - typeof props.to === 'string' - ? createLocation(props.to, null, null, props.history.location) - : props.to; - return (window.location = props.history.createHref(location)); - } - }} - /> -)); +export default Link; diff --git a/src/components/link/props.js b/src/components/link/props.js deleted file mode 100644 index aa5f60dadc..0000000000 --- a/src/components/link/props.js +++ /dev/null @@ -1,49 +0,0 @@ -// @flow -// This file exports an array of all props that are valid on an `a` (anchor) -// element. We need to do that so that we don’t spread invalid props on React -// Router’s `` component, which would trigger an error. - -const BASE_PROPS = [ - 'id', - 'className', - 'tabIndex', - 'lang', - 'aria-hidden', - 'children', -]; -const FOCUS_EVENTS = ['onFocus', 'onBlur']; -const MOUSE_EVENTS = [ - 'onClick', - 'onContextMenu', - 'onDoubleClick', - 'onDrag', - 'onDragEnd', - 'onDragEnter', - 'onDragExit', - 'onDragLeave', - 'onDragOver', - 'onDragStart', - 'onDrop', - 'onMouseDown', - 'onMouseEnter', - 'onMouseLeave', - 'onMouseMove', - 'onMouseOut', - 'onMouseOver', - 'onMouseUp', -]; - -const LINK_PROPS = [ - 'href', - 'hrefLang', - 'rel', - 'target', - 'autoFocus', - 'aria-label', - 'aria-current', - 'to', - 'download', - 'title', -]; - -export default [...BASE_PROPS, ...LINK_PROPS, ...FOCUS_EVENTS, ...MOUSE_EVENTS]; diff --git a/src/index.js b/src/index.js index 458965c91d..46fe166a62 100644 --- a/src/index.js +++ b/src/index.js @@ -90,10 +90,6 @@ Loadable.preloadReady() OfflinePluginRuntime.install({ // Apply new updates immediately onUpdateReady: () => OfflinePluginRuntime.applyUpdate(), - // Set a global variable when an update was installed so that we can reload the page when users - // go to a new page, leading to no interruption in the workflow. - // Idea from https://zach.codes/handling-client-side-app-updates-with-service-workers/ - onUpdated: () => (window.appUpdateAvailable = true), }); if ('serviceWorker' in navigator && 'PushManager' in window) { From 56c7e48a646e48dbccaa721164f2a0ddd3bc806a Mon Sep 17 00:00:00 2001 From: Maximilian Stoiber Date: Fri, 31 Aug 2018 10:03:56 +0200 Subject: [PATCH 04/21] Revert "Revert "Enable Apollo Engine again and cache Community.metaData"" This reverts commit 5cddc1c717fc8c2c80d36739d328b3b124845394. --- api/index.js | 46 +++++++++++++++++++++++---------------- api/routes/api/graphql.js | 3 +++ api/types/Community.js | 2 +- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/api/index.js b/api/index.js index 7b5fe5de37..b5b3570df0 100644 --- a/api/index.js +++ b/api/index.js @@ -94,25 +94,33 @@ import createSubscriptionsServer from './routes/create-subscription-server'; const subscriptionsServer = createSubscriptionsServer(server, '/websocket'); // Start API wrapped in Apollo Engine -// const engine = new ApolloEngine({ -// logging: { -// level: 'WARN', -// }, -// apiKey: process.env.APOLLO_ENGINE_API_KEY, -// // Only send perf data to the remote server in production -// reporting: { -// disabled: process.env.NODE_ENV !== 'production', -// hostname: process.env.NOW_URL || undefined, -// privateHeaders: ['authorization', 'Authorization', 'AUTHORIZATION'], -// }, -// }); - -// engine.listen({ -// port: PORT, -// httpServer: server, -// graphqlPaths: ['/api'], -// }); -server.listen(PORT); +const engine = new ApolloEngine({ + logging: { + level: 'WARN', + }, + apiKey: process.env.APOLLO_ENGINE_API_KEY, + // Only send perf data to the remote server in production + reporting: { + disabled: process.env.NODE_ENV !== 'production', + hostname: process.env.NOW_URL || undefined, + privateHeaders: ['authorization', 'Authorization', 'AUTHORIZATION'], + }, + queryCache: { + // Don't cache logged-in user responses + privateFullQueryStore: 'disabled', + }, + sessionAuth: { + cookie: 'session', + // TODO(@mxstbr): Ping Apollo to note that we need both of those + // header: 'Authorization' + }, +}); + +engine.listen({ + port: PORT, + httpServer: server, + graphqlPaths: ['/api'], +}); debug(`GraphQL server running at http://localhost:${PORT}/api`); process.on('unhandledRejection', async err => { diff --git a/api/routes/api/graphql.js b/api/routes/api/graphql.js index e835b23f58..1b89755457 100644 --- a/api/routes/api/graphql.js +++ b/api/routes/api/graphql.js @@ -15,6 +15,9 @@ export default graphqlExpress(req => { return { schema, formatError: createErrorFormatter(req), + tracing: true, + cacheControl: true, + engine: false, context: { loaders, user: currentUser, diff --git a/api/types/Community.js b/api/types/Community.js index 45931b1b50..5687211fa0 100644 --- a/api/types/Community.js +++ b/api/types/Community.js @@ -41,7 +41,7 @@ const Community = /* GraphQL */ ` node: Thread! } - type CommunityMetaData { + type CommunityMetaData @cacheControl(maxAge: 1800) { members: Int channels: Int onlineMembers: Int From eecfa785470fbf6288b73c13db7c0e0cd39adfbb Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Sun, 2 Sep 2018 14:59:13 +0000 Subject: [PATCH 05/21] Update validator to version 10.7.1 --- hermes/package.json | 2 +- hermes/yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hermes/package.json b/hermes/package.json index acc644e52d..1ff412184f 100644 --- a/hermes/package.json +++ b/hermes/package.json @@ -14,7 +14,7 @@ "rethinkdbdash": "^2.3.31", "source-map-support": "^0.4.18", "toobusy-js": "^0.5.1", - "validator": "^10.7.0" + "validator": "^10.7.1" }, "devDependencies": { "json-stringify-pretty-compact": "^1.2.0" diff --git a/hermes/yarn.lock b/hermes/yarn.lock index 4e3540b6a8..dd5e323d6d 100644 --- a/hermes/yarn.lock +++ b/hermes/yarn.lock @@ -451,9 +451,9 @@ uuid@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" -validator@^10.7.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-10.7.0.tgz#2d6443badcf942c86c19dc3deac7b87c0bd9b60d" +validator@^10.7.1: + version "10.7.1" + resolved "https://registry.yarnpkg.com/validator/-/validator-10.7.1.tgz#dd4cc750c2134ce4a15a2acfc7b233669d659c5b" whatwg-fetch@>=0.10.0: version "2.0.4" From 4c7fc7e4579bec37cae7db741b92c9c0b0236cc6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Sun, 2 Sep 2018 20:25:22 +0000 Subject: [PATCH 06/21] Update bull to version 3.4.8 --- mercury/package.json | 2 +- mercury/yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mercury/package.json b/mercury/package.json index 35a90f895d..49fcf0f37c 100644 --- a/mercury/package.json +++ b/mercury/package.json @@ -3,7 +3,7 @@ "start": "NODE_ENV=production node main.js" }, "dependencies": { - "bull": "^3.4.7", + "bull": "^3.4.8", "debug": "^2.6.9", "now-env": "^3.1.0", "raven": "^2.6.3", diff --git a/mercury/yarn.lock b/mercury/yarn.lock index 3c885eae54..8b39e683f9 100644 --- a/mercury/yarn.lock +++ b/mercury/yarn.lock @@ -6,9 +6,9 @@ version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -bull@^3.4.7: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bull/-/bull-3.4.7.tgz#163df3358502f49ebe293de5529a1eaecce5cce7" +bull@^3.4.8: + version "3.4.8" + resolved "https://registry.yarnpkg.com/bull/-/bull-3.4.8.tgz#bd25ae82f47e0a092c0b06b6a13b875fa5b41bc0" dependencies: bluebird "^3.5.0" cron-parser "^2.5.0" From 83ab107ceb226ba5c452cef23a499ad86271ff87 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Sun, 2 Sep 2018 20:50:36 +0000 Subject: [PATCH 07/21] Update bull to version 3.4.8 --- pluto/package.json | 2 +- pluto/yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pluto/package.json b/pluto/package.json index 49e5b3e993..5ad4000775 100644 --- a/pluto/package.json +++ b/pluto/package.json @@ -5,7 +5,7 @@ "dependencies": { "aws-sdk": "^2.296.0", "body-parser": "^1.18.3", - "bull": "^3.4.7", + "bull": "^3.4.8", "express": "^4.16.3", "faker": "^4.1.0", "http": "^0.0.0", diff --git a/pluto/yarn.lock b/pluto/yarn.lock index 425dd73746..dc4c334ba7 100644 --- a/pluto/yarn.lock +++ b/pluto/yarn.lock @@ -84,9 +84,9 @@ buffer@4.9.1: ieee754 "^1.1.4" isarray "^1.0.0" -bull@^3.4.7: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bull/-/bull-3.4.7.tgz#163df3358502f49ebe293de5529a1eaecce5cce7" +bull@^3.4.8: + version "3.4.8" + resolved "https://registry.yarnpkg.com/bull/-/bull-3.4.8.tgz#bd25ae82f47e0a092c0b06b6a13b875fa5b41bc0" dependencies: bluebird "^3.5.0" cron-parser "^2.5.0" From e54cc5f1eee8475eeb47f86497f955176c98938e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Mon, 3 Sep 2018 08:53:31 +0000 Subject: [PATCH 08/21] Update react-app-rewired to version 1.6.2 --- api/package.json | 2 +- api/yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/package.json b/api/package.json index 06872a292c..3ff74ebef0 100644 --- a/api/package.json +++ b/api/package.json @@ -88,7 +88,7 @@ "raven-js": "^3.26.4", "react": "^15.4.1", "react-app-rewire-styled-components": "^3.0.2", - "react-app-rewired": "^1.5.2", + "react-app-rewired": "^1.6.2", "react-dom": "^15.4.1", "react-helmet": "5.x", "react-infinite-scroller-with-scroll-element": "^1.0.4", diff --git a/api/yarn.lock b/api/yarn.lock index 9ac3a3419b..176bb745ca 100644 --- a/api/yarn.lock +++ b/api/yarn.lock @@ -6160,9 +6160,9 @@ react-app-rewired@^1.2.0: cross-spawn "^5.1.0" dotenv "^4.0.0" -react-app-rewired@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/react-app-rewired/-/react-app-rewired-1.5.2.tgz#0f5cdbc92f47f166bb0bcadf8a5d00999b90f68f" +react-app-rewired@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/react-app-rewired/-/react-app-rewired-1.6.2.tgz#32ce90abc2c4e2b86c71e4e270bd36663b3b1c9a" dependencies: cross-spawn "^5.1.0" dotenv "^4.0.0" From 4ecb5f680e2d1a963e7ef3c0b12eb496c8ae7a30 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 04:56:09 +0000 Subject: [PATCH 09/21] Update babel-plugin-styled-components to version 1.6.1 --- api/package.json | 2 +- api/yarn.lock | 33 +++++++++------------------------ 2 files changed, 10 insertions(+), 25 deletions(-) diff --git a/api/package.json b/api/package.json index 06872a292c..a24d09aab6 100644 --- a/api/package.json +++ b/api/package.json @@ -8,7 +8,7 @@ "aws-sdk": "2.200.0", "axios": "^0.16.2", "babel-plugin-replace-dynamic-import-runtime": "^1.0.2", - "babel-plugin-styled-components": "^1.5.1", + "babel-plugin-styled-components": "^1.6.1", "babel-plugin-transform-flow-strip-types": "^6.22.0", "babel-plugin-transform-object-rest-spread": "^6.23.0", "babel-preset-env": "^1.7.0", diff --git a/api/yarn.lock b/api/yarn.lock index 9ac3a3419b..ceb2e672d5 100644 --- a/api/yarn.lock +++ b/api/yarn.lock @@ -2,12 +2,6 @@ # yarn lockfile v1 -"@babel/helper-annotate-as-pure@^7.0.0-beta.37": - version "7.0.0-beta.54" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.54.tgz#1626126a3f9fc4ed280ac942372c7d39653d7121" - dependencies: - "@babel/types" "7.0.0-beta.54" - "@babel/runtime@^7.0.0-beta.38", "@babel/runtime@^7.0.0-beta.40": version "7.0.0-beta.41" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.41.tgz#776ce13391b8154ccfdea71018a47b63e4d97e74" @@ -22,14 +16,6 @@ core-js "^2.5.7" regenerator-runtime "^0.12.0" -"@babel/types@7.0.0-beta.54": - version "7.0.0-beta.54" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.54.tgz#025ad68492fed542c13f14c579a44c848e531063" - dependencies: - esutils "^2.0.2" - lodash "^4.17.5" - to-fast-properties "^2.0.0" - "@octokit/rest@^15.2.6": version "15.9.4" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.9.4.tgz#c6cf0f483275d9c798b18419b7c9d417493bb70f" @@ -859,13 +845,12 @@ babel-plugin-styled-components@^1.1.4: babel-types "^6.26.0" stylis "^3.0.0" -babel-plugin-styled-components@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.5.1.tgz#31dbeb696d1354d1585e60d66c7905f5e474afcd" +babel-plugin-styled-components@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.6.1.tgz#ab8d486813cbef956cfc71e5819a1a2c3282e144" dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0-beta.37" - babel-types "^6.26.0" - stylis "^3.0.0" + lodash "^4.17.10" + semver "^5.5.1" babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" @@ -6728,6 +6713,10 @@ semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" +semver@^5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" + send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -7386,10 +7375,6 @@ to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" From e1082382f717797d92952f22da3e89db5d778cf0 Mon Sep 17 00:00:00 2001 From: Maximilian Stoiber Date: Tue, 4 Sep 2018 10:17:16 +0200 Subject: [PATCH 10/21] Load 25 messages per page in a thread MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There's really no reason to load 50, that's way overboard—you barely see 10 and we load them in as you scroll pretty aggressively anyway... This makes us load 25 messages per page in a thread. --- api/queries/thread/messageConnection.js | 10 +++++----- .../thread/getThreadMessageConnection.js | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/api/queries/thread/messageConnection.js b/api/queries/thread/messageConnection.js index b2d52e9425..495b0849e6 100644 --- a/api/queries/thread/messageConnection.js +++ b/api/queries/thread/messageConnection.js @@ -53,22 +53,22 @@ export default ( if (cursor) debug(`cursor: ${cursor}`); let options = { - // Default first/last to 50 if their counterparts after/before are provided + // Default first/last to 25 if their counterparts after/before are provided // so users can query messageConnection(after: "cursor") or (before: "cursor") // without any more options - first: first ? first : after ? 50 : null, - last: last ? last : before ? 50 : null, + first: first ? first : after ? 25 : null, + last: last ? last : before ? 25 : null, // Set after/before to the cursor depending on which one was requested by the user after: after ? cursor : null, before: before ? cursor : null, }; // If we didn't get any arguments at all (i.e messageConnection {}) - // then just fetch the first 50 messages + // then just fetch the first 25 messages // $FlowIssue if (Object.keys(options).every(key => !options[key])) { options = { - first: 50, + first: 25, }; } diff --git a/shared/graphql/queries/thread/getThreadMessageConnection.js b/shared/graphql/queries/thread/getThreadMessageConnection.js index a8195164c9..152ac14957 100644 --- a/shared/graphql/queries/thread/getThreadMessageConnection.js +++ b/shared/graphql/queries/thread/getThreadMessageConnection.js @@ -53,30 +53,30 @@ export const getThreadMessageConnectionOptions = { first: null, }; - // if the thread has less than 50 messages, just load all of them - if (thread.messageCount <= 50) { + // if the thread has less than 25 messages, just load all of them + if (thread.messageCount <= 25) { variables.after = null; variables.before = null; // $FlowFixMe - variables.last = 50; + variables.last = 25; } - if (thread.messageCount > 50) { - //if the thread has more than 50 messages, we'll likely only want to load the latest 50 + if (thread.messageCount > 25) { + //if the thread has more than 25 messages, we'll likely only want to load the latest 25 // **unless** the current user hasn't seen the thread before // $FlowFixMe - variables.last = 50; + variables.last = 25; if (!thread.currentUserLastSeen) { variables.last = null; } } - // if it's a watercooler thread only ever load the 50 most recent messages + // if it's a watercooler thread only ever load the 25 most recent messages if (props.isWatercooler) { variables.before = null; variables.after = null; //$FlowFixMe - variables.last = 50; + variables.last = 25; } // if a user is visiting a url like /thread/:id#:messageId we can extract @@ -90,7 +90,7 @@ export const getThreadMessageConnectionOptions = { variables.after = params.m; variables.last = null; // $FlowFixMe - variables.first = 50; + variables.first = 25; } } From 54242b179e332c32019524ef0099e0352e75f442 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 12:25:30 +0000 Subject: [PATCH 11/21] Update raven to version 2.6.4 --- analytics/package.json | 2 +- analytics/yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/analytics/package.json b/analytics/package.json index d02f07fc15..5cc37d83ef 100644 --- a/analytics/package.json +++ b/analytics/package.json @@ -9,7 +9,7 @@ "bull": "3.3.10", "node-env-file": "^0.1.8", "now-env": "^3.1.0", - "raven": "^2.6.3", + "raven": "^2.6.4", "rethinkdbdash": "^2.3.29", "sha1": "^1.1.1", "source-map-support": "^0.5.9", diff --git a/analytics/yarn.lock b/analytics/yarn.lock index de58abbb5a..5a9b3c7a66 100644 --- a/analytics/yarn.lock +++ b/analytics/yarn.lock @@ -302,15 +302,15 @@ qs@^6.5.1: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" -raven@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" +raven@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" dependencies: cookie "0.3.1" md5 "^2.2.1" stack-trace "0.0.10" timed-out "4.0.1" - uuid "3.0.0" + uuid "3.3.2" readable-stream@^2.3.5: version "2.3.6" @@ -401,9 +401,9 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -uuid@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" uuid@^3.1.0: version "3.2.1" From e0f30adc3e544cc6f2d26fcad502a88e90fa0d7b Mon Sep 17 00:00:00 2001 From: Maximilian Stoiber Date: Tue, 4 Sep 2018 15:30:30 +0200 Subject: [PATCH 12/21] Cache community.metaData in Redis for an hour --- api/queries/community/metaData.js | 44 ++++++++++++++++++++++++++----- shared/cache/redis.js | 13 +++++++++ 2 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 shared/cache/redis.js diff --git a/api/queries/community/metaData.js b/api/queries/community/metaData.js index 4d8f6c2852..0a1002b978 100644 --- a/api/queries/community/metaData.js +++ b/api/queries/community/metaData.js @@ -2,6 +2,7 @@ import type { DBCommunity } from 'shared/types'; import type { GraphQLContext } from '../../'; import { canViewCommunity } from '../../utils/permissions'; +import cache from 'shared/cache/redis'; export default async (root: DBCommunity, _: any, ctx: GraphQLContext) => { const { user, loaders } = ctx; @@ -15,15 +16,46 @@ export default async (root: DBCommunity, _: any, ctx: GraphQLContext) => { }; } + const [ + cachedChannelCount, + cachedMemberCount, + cachedOnlineMemberCount, + ] = await Promise.all([ + cache.get(`community:${id}:channelCount`), + cache.get(`community:${id}:memberCount`), + cache.get(`community:${id}:onlineMemberCount`), + ]); + const [channelCount, memberCount, onlineMemberCount] = await Promise.all([ - loaders.communityChannelCount.load(id), - loaders.communityMemberCount.load(id), - loaders.communityOnlineMemberCount.load(id), + cachedChannelCount || + loaders.communityChannelCount + .load(id) + .then(res => (res && res.reduction) || 0), + cachedMemberCount || + loaders.communityMemberCount + .load(id) + .then(res => (res && res.reduction) || 0), + cachedOnlineMemberCount || + loaders.communityOnlineMemberCount + .load(id) + .then(res => (res && res.reduction) || 0), + ]); + + // Cache the fields for an hour + await Promise.all([ + cache.set(`community:${id}:channelCount`, channelCount, 'ex', 3600), + cache.set(`community:${id}:memberCount`, memberCount, 'ex', 3600), + cache.set( + `community:${id}:onlineMemberCount`, + onlineMemberCount, + 'ex', + 3600 + ), ]); return { - channels: channelCount ? channelCount.reduction : 0, - members: memberCount ? memberCount.reduction : 0, - onlineMembers: onlineMemberCount ? onlineMemberCount.reduction : 0, + channels: channelCount, + members: memberCount, + onlineMembers: onlineMemberCount, }; }; diff --git a/shared/cache/redis.js b/shared/cache/redis.js new file mode 100644 index 0000000000..b1fd4fcc96 --- /dev/null +++ b/shared/cache/redis.js @@ -0,0 +1,13 @@ +// @flow +import Redis from 'ioredis'; + +const config = + process.env.NODE_ENV === 'production' && !process.env.FORCE_DEV + ? { + port: process.env.REDIS_CACHE_PORT, + host: process.env.REDIS_CACHE_URL, + password: process.env.REDIS_CACHE_PASSWORD, + } + : undefined; + +export default new Redis(config); From 898338ecb9022d82de9d685660f3448f745303a6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 13:31:12 +0000 Subject: [PATCH 13/21] Update raven-js to version 3.27.0 --- api/package.json | 2 +- api/yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/package.json b/api/package.json index c8d30e5de4..5e9dcee976 100644 --- a/api/package.json +++ b/api/package.json @@ -85,7 +85,7 @@ "prismjs": "^1.15.0", "query-string": "5.1.1", "raven": "^2.6.3", - "raven-js": "^3.26.4", + "raven-js": "^3.27.0", "react": "^15.4.1", "react-app-rewire-styled-components": "^3.0.2", "react-app-rewired": "^1.6.2", diff --git a/api/yarn.lock b/api/yarn.lock index cc7be8e272..e9c2f5c271 100644 --- a/api/yarn.lock +++ b/api/yarn.lock @@ -6090,9 +6090,9 @@ range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -raven-js@^3.26.4: - version "3.26.4" - resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.26.4.tgz#32aae3a63a9314467a453c94c89a364ea43707be" +raven-js@^3.27.0: + version "3.27.0" + resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.27.0.tgz#9f47c03e17933ce756e189f3669d49c441c1ba6e" raven@^2.6.3: version "2.6.3" From 7eb78ccc917d907774534315fbab31c85326c2f6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 14:05:50 +0000 Subject: [PATCH 14/21] Update raven to version 2.6.4 --- athena/package.json | 2 +- athena/yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/athena/package.json b/athena/package.json index 7322501b5f..7d28a9733e 100644 --- a/athena/package.json +++ b/athena/package.json @@ -13,7 +13,7 @@ "expo-server-sdk": "^2.4.0", "node-env-file": "^0.1.8", "now-env": "^3.1.0", - "raven": "^2.6.3", + "raven": "^2.6.4", "rethinkdbdash": "^2.3.31", "source-map-support": "^0.4.18", "toobusy-js": "^0.5.1", diff --git a/athena/yarn.lock b/athena/yarn.lock index 737f8f2f54..9168f977b6 100644 --- a/athena/yarn.lock +++ b/athena/yarn.lock @@ -440,15 +440,15 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -raven@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" +raven@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" dependencies: cookie "0.3.1" md5 "^2.2.1" stack-trace "0.0.10" timed-out "4.0.1" - uuid "3.0.0" + uuid "3.3.2" redis-commands@^1.2.0: version "1.3.1" @@ -510,9 +510,9 @@ urlsafe-base64@^1.0.0, urlsafe-base64@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" -uuid@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" uuid@^3.1.0: version "3.1.0" From d77efa3783dfe36f26d7f8b81d8e1508a5d112f5 Mon Sep 17 00:00:00 2001 From: Maximilian Stoiber Date: Tue, 4 Sep 2018 16:31:40 +0200 Subject: [PATCH 15/21] Cleanup --- api/queries/community/metaData.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/api/queries/community/metaData.js b/api/queries/community/metaData.js index 0a1002b978..9bfc5912c6 100644 --- a/api/queries/community/metaData.js +++ b/api/queries/community/metaData.js @@ -27,15 +27,15 @@ export default async (root: DBCommunity, _: any, ctx: GraphQLContext) => { ]); const [channelCount, memberCount, onlineMemberCount] = await Promise.all([ - cachedChannelCount || + typeof cachedChannelCount === 'number' || loaders.communityChannelCount .load(id) .then(res => (res && res.reduction) || 0), - cachedMemberCount || + typeof cachedMemberCount === 'number' || loaders.communityMemberCount .load(id) .then(res => (res && res.reduction) || 0), - cachedOnlineMemberCount || + typeof cachedOnlineMemberCount === 'number' || loaders.communityOnlineMemberCount .load(id) .then(res => (res && res.reduction) || 0), @@ -43,14 +43,17 @@ export default async (root: DBCommunity, _: any, ctx: GraphQLContext) => { // Cache the fields for an hour await Promise.all([ - cache.set(`community:${id}:channelCount`, channelCount, 'ex', 3600), - cache.set(`community:${id}:memberCount`, memberCount, 'ex', 3600), - cache.set( - `community:${id}:onlineMemberCount`, - onlineMemberCount, - 'ex', - 3600 - ), + typeof cachedChannelCount === 'number' || + cache.set(`community:${id}:channelCount`, channelCount, 'ex', 3600), + typeof cachedMemberCount === 'number' || + cache.set(`community:${id}:memberCount`, memberCount, 'ex', 3600), + typeof cachedOnlineMemberCount === 'number' || + cache.set( + `community:${id}:onlineMemberCount`, + onlineMemberCount, + 'ex', + 3600 + ), ]); return { From 51a86f080adb473662c23cd9d856054780827e08 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 14:35:31 +0000 Subject: [PATCH 16/21] Update raven to version 2.6.4 --- chronos/package.json | 2 +- chronos/yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/chronos/package.json b/chronos/package.json index 8196dad671..15eb5e322b 100644 --- a/chronos/package.json +++ b/chronos/package.json @@ -10,7 +10,7 @@ "lodash.intersection": "^4.4.0", "now-env": "^3.1.0", "postmark": "^1.3.1", - "raven": "^2.6.3", + "raven": "^2.6.4", "rethinkdbdash": "^2.3.29", "source-map-support": "^0.4.18", "toobusy-js": "^0.5.1" diff --git a/chronos/yarn.lock b/chronos/yarn.lock index 6baa05ec49..79f165c1e6 100644 --- a/chronos/yarn.lock +++ b/chronos/yarn.lock @@ -314,15 +314,15 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -raven@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" +raven@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" dependencies: cookie "0.3.1" md5 "^2.2.1" stack-trace "0.0.10" timed-out "4.0.1" - uuid "3.0.0" + uuid "3.3.2" redis-commands@^1.2.0: version "1.3.1" @@ -372,9 +372,9 @@ ua-parser-js@^0.7.9: version "0.7.14" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.14.tgz#110d53fa4c3f326c121292bbeac904d2e03387ca" -uuid@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" uuid@^3.1.0: version "3.1.0" From d3889bcfa8cd79958f139034cc8f395bd5be90b2 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 15:05:36 +0000 Subject: [PATCH 17/21] Update raven to version 2.6.4 --- hermes/package.json | 2 +- hermes/yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hermes/package.json b/hermes/package.json index 1ff412184f..22620707e5 100644 --- a/hermes/package.json +++ b/hermes/package.json @@ -10,7 +10,7 @@ "node-env-file": "^0.1.8", "now-env": "^3.1.0", "postmark": "^1.6.1", - "raven": "^2.6.3", + "raven": "^2.6.4", "rethinkdbdash": "^2.3.31", "source-map-support": "^0.4.18", "toobusy-js": "^0.5.1", diff --git a/hermes/yarn.lock b/hermes/yarn.lock index dd5e323d6d..0161b3c360 100644 --- a/hermes/yarn.lock +++ b/hermes/yarn.lock @@ -377,15 +377,15 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -raven@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" +raven@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" dependencies: cookie "0.3.1" md5 "^2.2.1" stack-trace "0.0.10" timed-out "4.0.1" - uuid "3.0.0" + uuid "3.3.2" redis-commands@^1.2.0: version "1.3.1" @@ -443,9 +443,9 @@ ua-parser-js@^0.7.9: version "0.7.17" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" -uuid@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" uuid@^3.1.0: version "3.1.0" From d2e363429d75dea35415b768663c17fd8e26005c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 15:35:36 +0000 Subject: [PATCH 18/21] Update raven to version 2.6.4 --- mercury/package.json | 2 +- mercury/yarn.lock | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/mercury/package.json b/mercury/package.json index 49fcf0f37c..0cb9af1884 100644 --- a/mercury/package.json +++ b/mercury/package.json @@ -6,7 +6,7 @@ "bull": "^3.4.8", "debug": "^2.6.9", "now-env": "^3.1.0", - "raven": "^2.6.3", + "raven": "^2.6.4", "rethinkdbdash": "^2.3.29", "source-map-support": "^0.4.18", "toobusy-js": "^0.5.1" diff --git a/mercury/yarn.lock b/mercury/yarn.lock index 8b39e683f9..cac0a4796b 100644 --- a/mercury/yarn.lock +++ b/mercury/yarn.lock @@ -216,15 +216,15 @@ object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" -raven@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" +raven@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" dependencies: cookie "0.3.1" md5 "^2.2.1" stack-trace "0.0.10" timed-out "4.0.1" - uuid "3.0.0" + uuid "3.3.2" redis-commands@^1.2.0: version "1.3.1" @@ -266,10 +266,6 @@ toobusy-js@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/toobusy-js/-/toobusy-js-0.5.1.tgz#5511f78f6a87a6a512d44fdb0efa13672217f659" -uuid@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" - -uuid@^3.2.1: +uuid@3.3.2, uuid@^3.2.1: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" From 7b193081baeca8c83991964a0a9019a7c2c2532e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 16:05:51 +0000 Subject: [PATCH 19/21] Update raven to version 2.6.4 --- pluto/package.json | 2 +- pluto/yarn.lock | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/pluto/package.json b/pluto/package.json index 5ad4000775..8b34888704 100644 --- a/pluto/package.json +++ b/pluto/package.json @@ -12,7 +12,7 @@ "ioredis": "^3.2.2", "node-env-file": "^0.1.8", "now-env": "^3.1.0", - "raven": "^2.6.3", + "raven": "^2.6.4", "rethinkdb-changefeed-reconnect": "^0.3.2", "rethinkdbdash": "^2.3.31", "shortid": "^2.2.13", diff --git a/pluto/yarn.lock b/pluto/yarn.lock index dc4c334ba7..4515ab9c02 100644 --- a/pluto/yarn.lock +++ b/pluto/yarn.lock @@ -544,15 +544,15 @@ range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -raven@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" +raven@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" dependencies: cookie "0.3.1" md5 "^2.2.1" stack-trace "0.0.10" timed-out "4.0.1" - uuid "3.0.0" + uuid "3.3.2" raw-body@2.3.2: version "2.3.2" @@ -725,15 +725,11 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" - uuid@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" -uuid@^3.2.1: +uuid@3.3.2, uuid@^3.2.1: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" From afb11e19d8a37194877b41a6d0140668c7bc6233 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" Date: Tue, 4 Sep 2018 16:35:11 +0000 Subject: [PATCH 20/21] Update raven to version 2.6.4 --- vulcan/package.json | 2 +- vulcan/yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/vulcan/package.json b/vulcan/package.json index a9f727a3c7..34befa7fd3 100644 --- a/vulcan/package.json +++ b/vulcan/package.json @@ -9,7 +9,7 @@ "emoji-regex": "^6.1.1", "node-env-file": "^0.1.8", "now-env": "^3.1.0", - "raven": "^2.6.3", + "raven": "^2.6.4", "rethinkdb-changefeed-reconnect": "^0.3.2", "rethinkdbdash": "^2.3.29", "source-map-support": "^0.4.15", diff --git a/vulcan/yarn.lock b/vulcan/yarn.lock index 0696e0b9a2..c59fd2ff8d 100644 --- a/vulcan/yarn.lock +++ b/vulcan/yarn.lock @@ -235,15 +235,15 @@ querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -raven@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" +raven@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.4.tgz#458d4a380c8fbb59e0150c655625aaf60c167ea3" dependencies: cookie "0.3.1" md5 "^2.2.1" stack-trace "0.0.10" timed-out "4.0.1" - uuid "3.0.0" + uuid "3.3.2" reduce@^1.0.1: version "1.0.1" @@ -319,9 +319,9 @@ ua-parser-js@^0.7.9: version "0.7.17" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" -uuid@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" whatwg-fetch@>=0.10.0: version "2.0.4" From 30980e2834e6a5f37dfec2211ab1df16b60a8bc0 Mon Sep 17 00:00:00 2001 From: Brian Lovin Date: Tue, 4 Sep 2018 17:14:31 -0700 Subject: [PATCH 21/21] 2.4.34 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8c983c8197..5a6ef922fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Spectrum", - "version": "2.4.33", + "version": "2.4.34", "license": "BSD-3-Clause", "devDependencies": { "babel-cli": "^6.24.1",