diff --git a/admin/package.json b/admin/package.json index 65235fa..fff6359 100644 --- a/admin/package.json +++ b/admin/package.json @@ -1,6 +1,6 @@ { "name": "watch-party-admin", - "version": "1.6.2", + "version": "1.6.3", "private": true, "dependencies": { "@ant-design/icons": "^4.2.2", diff --git a/app/package-lock.json b/app/package-lock.json index 0720c08..d001afa 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "watch-party-crx", - "version": "1.6.2", + "version": "1.6.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1190,6 +1190,7 @@ "version": "7.9.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.0.tgz", "integrity": "sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==", + "dev": true, "requires": { "regenerator-runtime": "^0.13.4" }, @@ -1197,7 +1198,8 @@ "regenerator-runtime": { "version": "0.13.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true } } }, @@ -10864,11 +10866,6 @@ "p-is-promise": "^2.0.0" } }, - "memoize-one": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", - "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" - }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -14250,6 +14247,12 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, "react-transition-group": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.3.0.tgz", @@ -14262,18 +14265,18 @@ "prop-types": "^15.6.2" } }, - "react-virtualized-auto-sizer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.2.tgz", - "integrity": "sha512-MYXhTY1BZpdJFjUovvYHVBmkq79szK/k7V3MO+36gJkWGkrXKtyr4vCPtpphaTLRAdDNoYEYFZWE8LjN+PIHNg==" - }, - "react-window": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.5.tgz", - "integrity": "sha512-HeTwlNa37AFa8MDZFZOKcNEkuF2YflA0hpGPiTT9vR7OawEt+GZbfM6wqkBahD3D3pUjIabQYzsnY/BSJbgq6Q==", + "react-virtualized": { + "version": "9.22.2", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.2.tgz", + "integrity": "sha512-5j4h4FhxTdOpBKtePSs1yk6LDNT4oGtUwjT7Nkh61Z8vv3fTG/XeOf8J4li1AYaexOwTXnw0HFVxsV0GBUqwRw==", + "dev": true, "requires": { - "@babel/runtime": "^7.0.0", - "memoize-one": ">=3.1.1 <6" + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" } }, "read-pkg": { diff --git a/app/package.json b/app/package.json index afd5192..82c31d1 100644 --- a/app/package.json +++ b/app/package.json @@ -1,11 +1,8 @@ { "name": "watch-party-crx", - "version": "1.6.2", + "version": "1.6.3", "private": true, - "dependencies": { - "react-virtualized-auto-sizer": "^1.0.2", - "react-window": "^1.8.5" - }, + "dependencies": {}, "scripts": { "start": "node scripts/start.js", "build": "node scripts/build.js", @@ -82,6 +79,7 @@ "react-dom": "^16.4.1", "react-frame-component": "^4.0.0", "react-giphy-searchbox": "^1.4.0", + "react-virtualized": "^9.22.2", "resolve": "1.6.0", "route-lite": "^0.3.0", "style-loader": "0.19.0", diff --git a/app/public/background.js b/app/public/background.js index 671bf69..80611e8 100644 --- a/app/public/background.js +++ b/app/public/background.js @@ -12,7 +12,7 @@ COPIED, EDITED, OR REPRODUCED WITHOUT PERMISSION. /* global chrome */ /* global firebase */ -const APP_VERSION = '1.6.2'; +const APP_VERSION = '1.6.3'; const APP_VERSION_STRING = APP_VERSION.replace(/\./g, ''); const firebaseConfig = { diff --git a/app/public/manifest.json b/app/public/manifest.json index 06bd786..ee1ea1e 100644 --- a/app/public/manifest.json +++ b/app/public/manifest.json @@ -1,7 +1,7 @@ { "name": "Watch Party", "short_name": "WP", - "version": "1.6.2", + "version": "1.6.3", "description": "Watch streamed content together.", "background": { "page": "background.html" diff --git a/app/src/App.js b/app/src/App.js index 7df63ee..cc3f0cf 100644 --- a/app/src/App.js +++ b/app/src/App.js @@ -19,7 +19,7 @@ import 'firebase/firestore'; import Inactive from './Inactive'; import { getUserUid, getPlayerSource, PLAYER_SOURCE } from './Api'; -const APP_VERSION = '1.6.2'; +const APP_VERSION = '1.6.3'; const APP_VERSION_STRING = APP_VERSION.replace(/\./g, ''); const darkTheme = createMuiTheme({ diff --git a/app/src/Chat.js b/app/src/Chat.js index c85c24d..b489daf 100644 --- a/app/src/Chat.js +++ b/app/src/Chat.js @@ -742,9 +742,13 @@ export default class Chat extends Component { ) : ( - - Nothing playing right now, pause or play once after starting a show to start - sync. + + Nothing playing right now +
+ Pause or play once after starting a show to start sync. +
+ Watch Party will not automatically change the show for you as this is a security + exploit.
)} @@ -756,27 +760,25 @@ export default class Chat extends Component { ) : null} -
-
- {alerts.map((a) => { - if (a.condition() === true) { - return ( - - - - {a.message} - - - ); - } else return null; - })} -
- +
+ {alerts.map((a) => { + if (a.condition() === true) { + return ( + + + + {a.message} + + + ); + } else return null; + })}
+ div { + padding-bottom: 30px; } .thread-item { color: white; @@ -56,11 +62,15 @@ COPIED, EDITED, OR REPRODUCED WITHOUT PERMISSION. justify-content: center; align-items: center; flex-direction: row-reverse; + z-index: 9999 !important; } .thread-message .thread-overline span { flex: 1; text-align: center; } +.thread-message .thread-overline > span { + display: none; +} .thread-message .thread-overline .thread-reply-icon { position: absolute; display: flex; @@ -81,8 +91,6 @@ COPIED, EDITED, OR REPRODUCED WITHOUT PERMISSION. padding-bottom: 7px; } .thread-item:hover .thread-message .thread-overline { - height: 24px; - margin-bottom: 7px; opacity: 1; } .thread-message p { diff --git a/app/src/Thread.js b/app/src/Thread.js index 0460153..a6ca93e 100644 --- a/app/src/Thread.js +++ b/app/src/Thread.js @@ -9,7 +9,7 @@ ALL CONTENT ON WATCH PARTY'S WEBSITE OR IN WATCH PARTY'S CHROME EXTENSION APP, U CITED ARE THE SOLE INTELECTUAL PROPERTY OF AYUSHYA AMITABH, AND MAY NOT BE COPIED, EDITED, OR REPRODUCED WITHOUT PERMISSION. ************************************************************************/ -import React, { Component } from 'react'; +import React, { Component, createRef } from 'react'; import { Typography, IconButton, @@ -21,23 +21,32 @@ import { import { Reply, Send } from '@material-ui/icons'; import './Thread.css'; import { LocalData, webhookFetcher } from './Api'; +import { CellMeasurer, CellMeasurerCache, AutoSizer, List } from 'react-virtualized'; + +var cache = new CellMeasurerCache({ + fixedWidth: true, +}); export default class Thread extends Component { constructor(props) { super(props); + this.state = { + autoSizeWidth: 0, + }; + this.listRef = createRef(); + this.getMessage = this.getMessage.bind(this); this.getTimeString = this.getTimeString.bind(this); this.getReplyMessage = this.getReplyMessage.bind(this); this.getMessageTextOrImage = this.getMessageTextOrImage.bind(this); } - scrollToMessage(id) { - const pcc = document.querySelector('.thread-wrapper'); - const msg = document.getElementById(id); - const alc = document.querySelector( - '#party-routes-wrapper > div.party-chat-container > div.thread-wrapper > div.alerts-container' - ); - pcc.scrollTop = msg.offsetTop - pcc.offsetTop - alc.clientHeight - 10; - msg.classList.add('highlight'); - setTimeout(() => msg.classList.remove('highlight'), 2000); + scrollToMessage(msgIdx, messages) { + this.listRef.current.scrollToRow(msgIdx); + setTimeout(() => { + const id = messages[msgIdx].id || `sending-${msgIdx}`; + const msg = document.getElementById(id); + msg.classList.add('highlight'); + setTimeout(() => msg.classList.remove('highlight'), 2000); + }, 500); } handleInteractiveMessageCall(msg) { const thanksElement = document.createElement('div'); @@ -64,17 +73,17 @@ export default class Thread extends Component { } getItemClassNames(uid, userUid, msgIdx, messages, isSending = false) { const lastUid = msgIdx >= 1 ? messages[msgIdx - 1].uid : ''; - return `thread-item ${uid === userUid ? 'my-message' : ''} ${ - isSending ? 'sending-message' : '' - } ${uid === '' ? 'system-message' : ''} ${lastUid === uid ? 'continued-message' : ''}`; + return `thread-item ${uid === userUid ? 'my-message ' : ''}${ + isSending ? 'sending-message ' : '' + }${uid === '' ? 'system-message ' : ''}${lastUid === uid ? 'continued-message' : ''}`; } - getMessageTextOrImage(msg) { + getMessageTextOrImage(msg, measure) { if (msg.type === 'giphy') { - return gif; + return gif; } if (msg.type === 'interactive/text') { return ( - + {msg.text} @@ -101,7 +110,7 @@ export default class Thread extends Component { } if (msg.type === 'interactive/link') { return ( - + {msg.text} @@ -117,75 +126,94 @@ export default class Thread extends Component { ); } - return

{msg.text}

; + return

{msg.text}

; } getTimeString(time) { return new Date(time.seconds * 1000).toLocaleTimeString(); } - getReplyMessage(rT, messages) { - if (rT !== undefined && rT !== null) { - const replyMessage = messages.filter((m) => m.id === rT)[0]; - return ( -
this.scrollToMessage(replyMessage.id)}> -

Reply to {replyMessage.name}:

- {this.getMessageTextOrImage(replyMessage)} -
- ); + getReplyMessage(replyTo, messages) { + if (replyTo !== undefined && replyTo !== null) { + const replyMessage = messages.filter((v) => v.id === replyTo)[0]; + if (replyMessage) { + const msgIdx = messages.indexOf(replyMessage); + return ( +
this.scrollToMessage(msgIdx, messages)}> +

Reply to {replyMessage.name}:

+ {this.getMessageTextOrImage(replyMessage)} +
+ ); + } } return null; } - render() { - const { sendingMessages, setReplyTo, sentMessages } = this.props; + getMessage(params) { + const { autoSizeWidth } = this.state; + const { sendingMessages, sentMessages, setReplyTo } = this.props; const { userUid } = LocalData(); + const messages = [...sentMessages, ...sendingMessages]; + const msg = messages[params.index]; + const msgIdx = params.index; return ( -
- {sentMessages.length > 0 - ? sentMessages.map((msg, msgIdx) => ( -
-
{msg.name}
- {this.getReplyMessage(msg.replyTo, sentMessages)} -
-
- {this.getTimeString(msg.time)} -
- setReplyTo(msg)}> - - -
-
- {this.getMessageTextOrImage(msg)} + + {({ measure, registerChild }) => ( +
+
{msg.name}
+ {this.getReplyMessage(msg.replyTo, messages)} +
+
+ {this.getTimeString(msg.time)} +
+ setReplyTo(msg)}> + +
- )) - : null} - {sendingMessages.length > 0 - ? sendingMessages.map((msg, msgIdx) => ( -
-
{msg.name}
- {this.getReplyMessage(msg.replyTo, sentMessages)} -
-
- {this.getTimeString(msg.time)} -
- setReplyTo(msg)}> - - -
-
- {this.getMessageTextOrImage(msg)} -
-
- )) - : null} -
+ {this.getMessageTextOrImage(msg, measure)} +
+
+ )} + + ); + } + render() { + const { autoSizeWidth } = this.state; + const { sendingMessages, sentMessages } = this.props; + return ( + + {({ height, width }) => { + if (autoSizeWidth && autoSizeWidth !== width) { + cache.clearAll(); + this.listRef.current.recomputeRowHeights(); + this.setState({ autoSizeWidth: width }); + } + + return ( + cache.rowHeight({ index }) + 10} + rowRenderer={this.getMessage} + /> + ); + }} + ); } } diff --git a/app/src/index.css b/app/src/index.css index d7b312c..0d34b6c 100644 --- a/app/src/index.css +++ b/app/src/index.css @@ -378,14 +378,6 @@ body.disney #party_wrapper * { .create-bottom-card a:hover { color: #c0f300; } -.thread-wrapper { - max-height: 100%; - flex: 1; - overflow-y: auto; - margin-bottom: 1rem; - padding: 0; - margin-top: 1rem; -} .room-title { text-overflow: ellipsis !important; word-break: break-word !important; @@ -585,7 +577,6 @@ body.amazon-prime .notification-switch .MuiSwitch-thumb { .alerts-container { margin: 5px 0; - position: sticky; top: 0; padding: 5px 0; z-index: 999 !important; diff --git a/assets/VersionPNG.psd b/assets/VersionPNG.psd index 126b3ab..2d59efb 100644 Binary files a/assets/VersionPNG.psd and b/assets/VersionPNG.psd differ diff --git a/functions/package.json b/functions/package.json index 91617ea..94f8e11 100644 --- a/functions/package.json +++ b/functions/package.json @@ -1,6 +1,6 @@ { "name": "watch-party-api", - "version": "1.6.2", + "version": "1.6.3", "description": "Cloud Functions for Watch Party", "scripts": { "lint": "eslint .", diff --git a/package-lock.json b/package-lock.json index 262e932..54da2e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,181 +1,91 @@ { "name": "watch-party", - "version": "1.2.1", + "version": "1.6.2", "lockfileVersion": 1, "requires": true, "dependencies": { - "@voxeet/voxeet-web-sdk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@voxeet/voxeet-web-sdk/-/voxeet-web-sdk-2.3.1.tgz", - "integrity": "sha512-y3/rewt+Rtkk7KVUY9DuYffAY9s+m2nrvumfFuwMnOxAeJw2N4fB1KuyGx80MQqk70xpFfZCLTt3JO6l19uJIg==", + "@babel/runtime": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", + "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", "requires": { - "bowser": "^2.8.1", - "browserslist": "^4.5.2", - "btoa": "^1.1.2", - "events": "^1.1.0", - "get-float-time-domain-data": "^0.1.0", - "global": "^4.4.0", - "lodash": "^4.17.4", - "moment": "^2.24.0", - "sdp": "^2.3.0", - "webrtc-adapter": "^6.3.2" + "regenerator-runtime": "^0.13.4" } }, - "bowser": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.9.0.tgz", - "integrity": "sha512-2ld76tuLBNFekRgmJfT2+3j5MIrP6bFict8WAIT3beq+srz1gcKNAdNKMqHqauQt63NmAa88HfP1/Ypa9Er3HA==" - }, - "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", - "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" - } - }, - "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" - }, - "caniuse-lite": { - "version": "1.0.30001066", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001066.tgz", - "integrity": "sha512-Gfj/WAastBtfxLws0RCh2sDbTK/8rJuSeZMecrSkNGYxPcv7EzblmDGfWQCFEQcSqYE2BRgQiJh8HOD07N5hIw==" - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" - }, - "electron-to-chromium": { - "version": "1.3.453", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.453.tgz", - "integrity": "sha512-IQbCfjJR0NDDn/+vojTlq7fPSREcALtF8M1n01gw7nQghCtfFYrJ2dfhsp8APr8bANoFC8vRTFVXMOGpT0eetw==" - }, - "events": { + "clsx": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "csstype": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.2.tgz", + "integrity": "sha512-ofovWglpqoqbfLNOTBNZLSbMuGrblAf1efvvArGKOZMBrIoJeu5UsAipQolkijtyQx5MtAzT/J9IHj/CEY1mJw==" + }, + "dom-helpers": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz", + "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==", "requires": { - "locate-path": "^2.0.0" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, - "get-float-time-domain-data": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-float-time-domain-data/-/get-float-time-domain-data-0.1.0.tgz", - "integrity": "sha1-XYVZJKQwOITJY4qrEnzOTQBlljs=" + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" } }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-virtualized": { + "version": "9.22.2", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.2.tgz", + "integrity": "sha512-5j4h4FhxTdOpBKtePSs1yk6LDNT4oGtUwjT7Nkh61Z8vv3fTG/XeOf8J4li1AYaexOwTXnw0HFVxsV0GBUqwRw==", "requires": { - "dom-walk": "^0.1.0" + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" } }, - "moment": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", - "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==" - }, - "node-releases": { - "version": "1.1.57", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.57.tgz", - "integrity": "sha512-ZQmnWS7adi61A9JsllJ2gdj2PauElcjnOwTp2O011iGzoakTxUsDGSe+6vD7wXbKdqhSFymC0OSx35aAMhrSdw==" - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "requires": { - "find-up": "^2.1.0" - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "rtcpeerconnection-shim": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz", - "integrity": "sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw==", - "requires": { - "sdp": "^2.6.0" - } - }, - "sdp": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/sdp/-/sdp-2.12.0.tgz", - "integrity": "sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==" - }, - "webrtc-adapter": { - "version": "6.4.8", - "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-6.4.8.tgz", - "integrity": "sha512-YM8yl545c/JhYcjGHgaCoA7jRK/KZuMwEDFeP2AcP0Auv5awEd+gZE0hXy9z7Ed3p9HvAXp8jdbe+4ESb1zxAw==", - "requires": { - "rtcpeerconnection-shim": "^1.2.14", - "sdp": "^2.9.0" - } + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" } } } diff --git a/package.json b/package.json index d5762b8..83e208b 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,11 @@ { "name": "watch-party", - "version": "1.6.2", + "version": "1.6.3", "description": "Watch Party", "scripts": { "start": "firebase emulators:start", "build": "cd ./app && node ./scripts/build.js" }, - "private": true + "private": true, + "dependencies": {} } diff --git a/website/changes/index.html b/website/changes/index.html index 4a26fe9..4225b90 100644 --- a/website/changes/index.html +++ b/website/changes/index.html @@ -12,111 +12,45 @@ COPIED, EDITED, OR REPRODUCED WITHOUT PERMISSION. -------------------------------------------------------------------------> - - - - - - - - - - - - - + + + + + + + + + + + + + - + Watch Party | Changelog - +
-

- WATCH PARTY | CHANGELOG -

-

- WATCH PARTY | CHANGELOG -

+

WATCH PARTY | CHANGELOG

+

WATCH PARTY | CHANGELOG

WATCH YOUR FAVORITES,
WITH YOUR FAVORITE PEOPLE
@@ -135,34 +69,45 @@ COPIED, EDITED, OR REPRODUCED WITHOUT PERMISSION. data-upcoming-support="See Changes" >
+ + + + + + + + +