more conststent check for peer restrictions

This commit is contained in:
or-else
2019-03-03 19:37:16 +03:00
parent 64f1fd4380
commit 32ad99128e
+12 -4
View File
@@ -45,6 +45,14 @@ function isUnconfirmed(acs) {
return false;
}
function isPeerRestricted(acs) {
if (acs) {
const ms = acs.getMissing() || '';
return acs.isJoiner('want') && (ms.includes('R') || ms.includes('W'));
}
return false;
}
class MessagesView extends React.Component {
constructor(props) {
super(props);
@@ -211,9 +219,9 @@ class MessagesView extends React.Component {
}
const peer = topic.p2pPeerDesc();
if (peer && peer.acs) {
if (peer) {
Object.assign(nextState, {
peerMessagingDisabled: !(peer.acs.isReader('given') && peer.acs.isWriter('given'))
peerMessagingDisabled: isPeerRestricted(peer.acs)
});
} else if (prevState.peerMessagingDisabled) {
Object.assign(nextState, {
@@ -350,9 +358,9 @@ class MessagesView extends React.Component {
});
const newState = {onlineSubs: subs};
const peer = topic.p2pPeerDesc();
if (peer && peer.acs) {
if (peer) {
Object.assign(newState, {
peerMessagingDisabled: !(peer.acs.isReader('given') && peer.acs.isWriter('given'))
peerMessagingDisabled: isPeerRestricted(peer.acs)
});
} else if (this.state.peerMessagingDisabled) {
Object.assign(newState, {