componentDidMount () { this.props.data.subscribeToMore({ document: PresenceSubscription, variables: {}, updateQuery: (prev, {subscriptionData}) => { const result = { users: prev.users } if(subscriptionData.data.onPresence.presence.status === 'LEFT') { result.users = differenceBy(prev.users, [subscriptionData.data.onPresence], x => x.id) if(subscriptionData.data.onPresence.id === this.state.id) this.setState({id: undefined, alias: undefined}) return result } result.users = uniqBy(prev.users.concat([subscriptionData.data.onPresence]), x => x.id) return result } }) }
differenceBy(addPeers, conference.peers, item => item.id)