Merge branch 'update', closes #53

This commit is contained in:
Jerko Steiner 2018-12-13 16:59:48 +01:00
commit 1db22e9b5c
7 changed files with 1818 additions and 1349 deletions

View File

@ -6,7 +6,8 @@
"jsx-quotes": ["error", "prefer-double"],
"padded-blocks": 0,
"import/first": 0,
"no-return-assign": 0
"no-return-assign": 0,
"indent": ["error", 2, { "MemberExpression": 0, "SwitchCase": 1, "flatTernaryExpressions": true }],
},
"globals": {
"expect": true,

3065
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -27,13 +27,23 @@
},
"babel": {
"presets": [
"es2015",
"es2016",
"react"
[
"@babel/preset-env",
{
"targets": {
"browsers": [
"last 2 versions",
"safari >= 7",
"ie >= 11"
]
}
}
],
"@babel/preset-react"
],
"plugins": [
"transform-object-rest-spread",
"transform-class-properties"
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread"
]
},
"author": "Jerko Steiner",
@ -41,51 +51,51 @@
"dependencies": {
"bluebird": "^3.3.4",
"classnames": "^2.2.5",
"config": "^1.26.1",
"config": "^3.0.0",
"express": "^4.13.3",
"prop-types": "^15.5.10",
"pug": "^2.0.0-rc.2",
"react": "^15.5.4",
"react-dom": "^15.5.4",
"react-redux": "^5.0.5",
"react-transition-group": "^1.1.3",
"redux": "^3.6.0",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-redux": "^6.0.0",
"react-transition-group": "^1.2.1",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-promise-middleware": "^4.2.0",
"redux-promise-middleware": "^5.1.1",
"redux-thunk": "^2.2.0",
"screenfull": "^3.3.3",
"seamless-immutable": "^7.1.2",
"simple-peer": "^8.1.0",
"socket.io": "^2.1.1",
"socket.io-client": "^2.1.1",
"simple-peer": "^9.1.2",
"socket.io": "^2.2.0",
"socket.io-client": "^2.2.0",
"underscore": "^1.8.3",
"uuid": "^2.0.1"
"uuid": "^3.3.2"
},
"devDependencies": {
"babel-eslint": "^7.2.3",
"babel-jest": "^20.0.3",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.23.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-es2016": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babelify": "^7.3.0",
"@babel/core": "^7.2.0",
"@babel/plugin-proposal-class-properties": "^7.2.1",
"@babel/plugin-proposal-object-rest-spread": "^7.2.0",
"@babel/preset-env": "^7.2.0",
"@babel/preset-react": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^10.0.1",
"babel-jest": "^23.6.0",
"babelify": "^10.0.0",
"chastifol": "^4.1.0",
"eslint": "^3.19.0",
"eslint-config-standard": "^10.2.1",
"eslint-config-standard-react": "^5.0.0",
"eslint": "^5.10.0",
"eslint-config-standard": "^12.0.0",
"eslint-config-standard-react": "^7.0.2",
"eslint-plugin-import": "^2.3.0",
"eslint-plugin-node": "^5.0.0",
"eslint-plugin-promise": "^3.5.0",
"eslint-plugin-node": "^8.0.0",
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-react": "^7.0.1",
"eslint-plugin-standard": "^3.0.1",
"eslint-plugin-standard": "^4.0.0",
"jest-cli": "^23.6.0",
"node-sass": "^4.5.3",
"nodemon": "^1.18.7",
"react-addons-test-utils": "^15.5.1",
"node-sass": "^4.11.0",
"nodemon": "^1.18.8",
"redux-mock-store": "^1.2.3",
"supertest": "^3.0.0",
"uglify-js": "^2.6.2",
"uglify-js": "^3.4.9",
"watchify": "^3.9.0"
},
"jest": {

View File

@ -18,8 +18,8 @@ export class MediaStream {
}
export function getUserMedia () {
return !getUserMedia.shouldFail
? Promise.resolve(getUserMedia.stream)
: Promise.reject(new Error('test'))
? Promise.resolve(getUserMedia.stream)
: Promise.reject(new Error('test'))
}
getUserMedia.fail = shouldFail => getUserMedia.shouldFail = shouldFail
getUserMedia.stream = new MediaStream()

View File

@ -74,6 +74,7 @@ export default class App extends React.PureComponent {
onClick={toggleActive}
stream={streams[constants.ME]}
userId={constants.ME}
muted
/>
{_.map(peers, (_, userId) => (
@ -83,6 +84,7 @@ export default class App extends React.PureComponent {
onClick={toggleActive}
stream={streams[userId]}
userId={userId}
videos={videos}
/>
))}
</div>

View File

@ -1,7 +1,7 @@
import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'
import PropTypes from 'prop-types'
import React from 'react'
import classnames from 'classnames'
import { CSSTransitionGroup } from 'react-transition-group'
export const NotificationPropTypes = PropTypes.shape({
id: PropTypes.string.isRequired,

View File

@ -15,7 +15,11 @@ export default class Video extends React.PureComponent {
onClick: PropTypes.func,
active: PropTypes.bool.isRequired,
stream: StreamPropType,
userId: PropTypes.string.isRequired
userId: PropTypes.string.isRequired,
muted: PropTypes.bool.isRequired
}
static defaultProps = {
muted: false
}
handleClick = e => {
const { onClick, userId } = this.props
@ -41,12 +45,10 @@ export default class Video extends React.PureComponent {
} else if (video.src !== url) {
video.src = url
}
if (socket.id) {
videos[socket.id] = video
}
videos[socket.id] = video
}
render () {
const { active } = this.props
const { active, muted } = this.props
const className = classnames('video-container', { active })
return (
<div className={className}>
@ -57,6 +59,7 @@ export default class Video extends React.PureComponent {
onLoadedMetadata={this.play}
playsInline
ref="video"
muted={muted}
/>
</div>
)