diff --git a/ee/app/engagement-dashboard/client/components/UsersTab/ActiveUsersSection.js b/ee/app/engagement-dashboard/client/components/UsersTab/ActiveUsersSection.js index b70f27dd9c3..201bad0246b 100644 --- a/ee/app/engagement-dashboard/client/components/UsersTab/ActiveUsersSection.js +++ b/ee/app/engagement-dashboard/client/components/UsersTab/ActiveUsersSection.js @@ -61,7 +61,9 @@ const ActiveUsersSection = ({ timezone }) => { const prevMauValue = createPoint(-1); const usersListsMap = data.month.reduce((map, dayData) => { - const date = moment({ year: dayData.year, month: dayData.month - 1, day: dayData.day }); + const date = utc + ? moment.utc({ year: dayData.year, month: dayData.month - 1, day: dayData.day }).endOf('day') + : moment({ year: dayData.year, month: dayData.month - 1, day: dayData.day }).endOf('day'); const dateOffset = date.diff(period.start, 'days'); if (dateOffset >= 0) { map[dateOffset] = dayData.usersList; @@ -99,7 +101,7 @@ const ActiveUsersSection = ({ timezone }) => { wauValues, mauValues, ]; - }, [period, data]); + }, [data, period.end, period.start, utc]); const downloadData = () => { const data = [{ diff --git a/package-lock.json b/package-lock.json index d90484d04be..aca625781e9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4602,19 +4602,151 @@ "integrity": "sha512-OWyu3U6PJL2VGlAfoz6nTU4opXHlR0yp0h+0Q0rf/hMKQLiew6NmecKcR1Nx2Qw4dJHgOnZRXqQ6vQrhcNV3WQ==" }, "@nivo/line": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@nivo/line/-/line-0.73.0.tgz", - "integrity": "sha512-ZxCJyoYN6tFx3NA4KvxKtbYLLzEl+S8TU57Qd/iGfJ2AbFAgiBhOiYH4kBY7VuxbUjcqQhPUvkPGcolnzqEXMg==", - "requires": { - "@nivo/annotations": "0.73.0", - "@nivo/axes": "0.73.0", - "@nivo/colors": "0.73.0", - "@nivo/legends": "0.73.0", - "@nivo/scales": "0.73.0", - "@nivo/tooltip": "0.73.0", - "@nivo/voronoi": "0.73.0", - "@react-spring/web": "9.2.4", - "d3-shape": "^1.3.5" + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/line/-/line-0.62.0.tgz", + "integrity": "sha512-P48gt8NjhRb5W8QjafgO/DMKVD+21X4Jf13wwL6k8lzwaKOaWS37OPPPpvDREQFZhHYWG6KcnIGEo99/yOzdWw==", + "requires": { + "@nivo/annotations": "0.62.0", + "@nivo/axes": "0.62.0", + "@nivo/colors": "0.62.0", + "@nivo/core": "0.62.0", + "@nivo/legends": "0.62.0", + "@nivo/scales": "0.62.0", + "@nivo/tooltip": "0.62.0", + "@nivo/voronoi": "0.62.0", + "d3-shape": "^1.3.5", + "lodash": "^4.17.11", + "react-motion": "^0.5.2" + }, + "dependencies": { + "@nivo/annotations": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/annotations/-/annotations-0.62.0.tgz", + "integrity": "sha512-cvwUMeEkqVZ9yEgiWf3Nj3bHY36JHK7fHdXbcYS6KYZ05m5mbVWFMxHE45fPKRLaWoMqaK+rhPpioMHGYC/4mA==", + "requires": { + "@nivo/colors": "0.62.0", + "@nivo/core": "0.62.0", + "lodash": "^4.17.11", + "react-motion": "^0.5.2" + } + }, + "@nivo/axes": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/axes/-/axes-0.62.0.tgz", + "integrity": "sha512-9MBYGtKTVks5wvR/Xsj7h0/N6M2FHdwad/CmRP91agTBwyhMyYE9ifEwcP0urshZ6Jt9D1e5GxtZYwrPwFWv/A==", + "requires": { + "@nivo/core": "0.62.0", + "@nivo/scales": "0.62.0", + "d3-format": "^1.3.2", + "d3-time": "^1.0.11", + "d3-time-format": "^2.1.3", + "lodash": "^4.17.11", + "react-motion": "^0.5.2" + } + }, + "@nivo/colors": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/colors/-/colors-0.62.0.tgz", + "integrity": "sha512-yBbdy0eD9oG4j7SXWx1FIa6l30/6H0pMINB3Qth3Pz0cFtXNf7mHjbIziSdt+nW8syT6GvxCtU+Vw98M52bA2A==", + "requires": { + "d3-color": "^1.2.3", + "d3-scale": "^3.0.0", + "d3-scale-chromatic": "^1.3.3", + "lodash.get": "^4.4.2", + "lodash.isplainobject": "^4.0.6", + "react-motion": "^0.5.2" + } + }, + "@nivo/core": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/core/-/core-0.62.0.tgz", + "integrity": "sha512-0MdLAy4NgwL/QRJQN9oVFL8aF6H0qd0iHG3Ewy3asvgh/Dmz4boXKsTX5+V9puTeJHJtnlBdSgWqimqeeiXD8w==", + "requires": { + "@nivo/tooltip": "0.62.0", + "d3-color": "^1.2.3", + "d3-format": "^1.3.2", + "d3-hierarchy": "^1.1.8", + "d3-interpolate": "^1.3.2", + "d3-scale": "^3.0.0", + "d3-scale-chromatic": "^1.3.3", + "d3-shape": "^1.3.5", + "d3-time-format": "^2.1.3", + "lodash": "^4.17.11", + "react-measure": "^2.2.4", + "react-motion": "^0.5.2", + "recompose": "^0.30.0" + } + }, + "@nivo/legends": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/legends/-/legends-0.62.0.tgz", + "integrity": "sha512-0Vda6OyftmeL0j1wKqDe64qXQ1t+4h/GVxZK4wUXfFHkxHmLOnX+KFPwAWtHaYwmBb8RuzBlZfLipkKk2M3Dwg==", + "requires": { + "@nivo/core": "0.62.0", + "lodash": "^4.17.11", + "recompose": "^0.30.0" + } + }, + "@nivo/scales": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/scales/-/scales-0.62.0.tgz", + "integrity": "sha512-x3L7/yCPLNmj/mtnOl9E/kL/3KMXKyS3IyzqB2F5PAiUcsUpxKmHwcJ9ATdPKcoUaYpf/wa9z+jL92/AInz3Pw==", + "requires": { + "d3-scale": "^3.0.0", + "d3-time-format": "^2.1.3", + "lodash": "^4.17.11" + } + }, + "@nivo/tooltip": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/tooltip/-/tooltip-0.62.0.tgz", + "integrity": "sha512-MoEq+WLDynH+DBRihb432RLtxEkvC3mKWjMuNlMwTQy+sk7h6NfIPw1QCeLrjiA/0w5qNSmWtbIv4dEJNExfwg==", + "requires": { + "@nivo/core": "0.62.0", + "react-measure": "^2.2.4", + "react-motion": "^0.5.2" + } + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" + }, + "d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==" + }, + "d3-interpolate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", + "requires": { + "d3-color": "1" + } + }, + "d3-scale-chromatic": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "requires": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, + "d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" + }, + "d3-time-format": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", + "requires": { + "d3-time": "1" + } + } } }, "@nivo/pie": { @@ -4664,12 +4796,86 @@ } }, "@nivo/voronoi": { - "version": "0.73.0", - "resolved": "https://registry.npmjs.org/@nivo/voronoi/-/voronoi-0.73.0.tgz", - "integrity": "sha512-jYDwNkNhEXRt4LR3hTxBZpuRDUQN4GtdP4fxcJIFGxvmh3Bsd3XQMWPqZYTNpgDddYjsnLtLe5RvR5gC7hBojw==", - "requires": { - "d3-delaunay": "^5.3.0", - "d3-scale": "^3.2.3" + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/voronoi/-/voronoi-0.62.0.tgz", + "integrity": "sha512-+Q+zTjp4LsjmUNMA3tFe13UdjANsE1NLTKajrwEBvQEx87GWYUJP2G+tNBrb2WfkBUmH0XTkkH7upLy4Gx//HA==", + "requires": { + "@nivo/core": "0.62.0", + "d3-delaunay": "^5.1.1", + "d3-scale": "^3.0.0", + "recompose": "^0.30.0" + }, + "dependencies": { + "@nivo/core": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/core/-/core-0.62.0.tgz", + "integrity": "sha512-0MdLAy4NgwL/QRJQN9oVFL8aF6H0qd0iHG3Ewy3asvgh/Dmz4boXKsTX5+V9puTeJHJtnlBdSgWqimqeeiXD8w==", + "requires": { + "@nivo/tooltip": "0.62.0", + "d3-color": "^1.2.3", + "d3-format": "^1.3.2", + "d3-hierarchy": "^1.1.8", + "d3-interpolate": "^1.3.2", + "d3-scale": "^3.0.0", + "d3-scale-chromatic": "^1.3.3", + "d3-shape": "^1.3.5", + "d3-time-format": "^2.1.3", + "lodash": "^4.17.11", + "react-measure": "^2.2.4", + "react-motion": "^0.5.2", + "recompose": "^0.30.0" + } + }, + "@nivo/tooltip": { + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/@nivo/tooltip/-/tooltip-0.62.0.tgz", + "integrity": "sha512-MoEq+WLDynH+DBRihb432RLtxEkvC3mKWjMuNlMwTQy+sk7h6NfIPw1QCeLrjiA/0w5qNSmWtbIv4dEJNExfwg==", + "requires": { + "@nivo/core": "0.62.0", + "react-measure": "^2.2.4", + "react-motion": "^0.5.2" + } + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" + }, + "d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==" + }, + "d3-interpolate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", + "requires": { + "d3-color": "1" + } + }, + "d3-scale-chromatic": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", + "requires": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, + "d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" + }, + "d3-time-format": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", + "requires": { + "d3-time": "1" + } + } } }, "@nodelib/fs.scandir": { @@ -14419,6 +14625,11 @@ } } }, + "change-emitter": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", + "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" + }, "character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", @@ -16833,6 +17044,24 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "encoding-japanese": { "version": "1.0.30", "resolved": "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-1.0.30.tgz", @@ -18462,6 +18691,27 @@ "bser": "2.1.1" } }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } + } + }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -20418,6 +20668,11 @@ } } }, + "get-node-dimensions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-node-dimensions/-/get-node-dimensions-1.2.1.tgz", + "integrity": "sha512-2MSPMu7S1iOTL+BOa6K1S62hB2zUAYNF/lV0gSVlOaacd087lc6nR1H1r0e3B1CerTo+RceOmi1iJW+vp21xcQ==" + }, "get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -22552,6 +22807,26 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -30876,6 +31151,17 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-measure": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/react-measure/-/react-measure-2.5.2.tgz", + "integrity": "sha512-M+rpbTLWJ3FD6FXvYV6YEGvQ5tMayQ3fGrZhRPHrE9bVlBYfDCLuDcgNttYfk8IqfOI03jz6cbpqMRTUclQnaA==", + "requires": { + "@babel/runtime": "^7.2.0", + "get-node-dimensions": "^1.2.1", + "prop-types": "^15.6.2", + "resize-observer-polyfill": "^1.5.0" + } + }, "react-motion": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", @@ -31107,6 +31393,26 @@ } } }, + "recompose": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.30.0.tgz", + "integrity": "sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w==", + "requires": { + "@babel/runtime": "^7.0.0", + "change-emitter": "^0.1.2", + "fbjs": "^0.8.1", + "hoist-non-react-statics": "^2.3.1", + "react-lifecycles-compat": "^3.0.2", + "symbol-observable": "^1.0.4" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, "recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", @@ -32219,8 +32525,7 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { "version": "1.1.1", @@ -34151,8 +34456,7 @@ "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "symbol-tree": { "version": "3.2.4", diff --git a/package.json b/package.json index a2c72dbf467..cb9b6ac0898 100644 --- a/package.json +++ b/package.json @@ -154,7 +154,7 @@ "@nivo/bar": "0.73.1", "@nivo/core": "0.73.0", "@nivo/heatmap": "0.73.0", - "@nivo/line": "0.73.0", + "@nivo/line": "0.62.0", "@nivo/pie": "0.73.0", "@rocket.chat/apps-engine": "1.27.1", "@rocket.chat/css-in-js": "^0.28.0",