bug fixes: crash in editing group member permissions, fnd not working sometimes, var -> let, const

This commit is contained in:
or-else
2018-12-13 15:42:54 +03:00
parent 10d88da558
commit bc3e82bcbf
12 changed files with 49 additions and 85 deletions
+11 -8
View File
@@ -97,8 +97,8 @@ class InfoView extends React.Component {
}
// No need to separately handle component mount.
UNSAFE_componentWillReceiveProps(props) {
var topic = this.props.tinode.getTopic(props.topic);
componentDidUpdate(props) {
let topic = this.props.tinode.getTopic(props.topic);
if (!topic) {
return;
}
@@ -137,17 +137,17 @@ class InfoView extends React.Component {
}
resetSubs(topic, props) {
var newState = {contactList: []};
const newState = {contactList: []};
if (topic.getType() == 'p2p') {
// Fetch the other party in the p2p conversation.
// Topic may not be ready yet, so check if user is found.
var user2 = topic.subscriber(props.topic);
const user2 = topic.subscriber(props.topic);
if (user2) {
newState.modeGiven2 = user2.acs.getGiven();
newState.modeWant2 = user2.acs.getWant();
}
} else {
topic.subscribers(function(sub) {
topic.subscribers((sub) => {
newState.contactList.push(sub);
}, this);
}
@@ -156,12 +156,15 @@ class InfoView extends React.Component {
}
resetDesc(topic, props) {
var defacs = topic.getDefaultAccess() || {};
var acs = topic.getAccessMode();
const defacs = topic.getDefaultAccess() || {};
const acs = topic.getAccessMode();
console.log("Desc:", defacs, acs);
this.setState({
owner: acs && acs.isOwner(),
admin: acs && acs.isAdmin(),
sharer: acs && (acs.isAdmin() || acs.isSharer()),
sharer: acs && acs.isSharer(),
muted: acs && acs.isMuted(),
fullName: topic.public ? topic.public.fn : undefined,
+2 -10
View File
@@ -15,8 +15,7 @@ export default class NewTopicView extends React.Component {
super(props);
this.state = {
tabSelected: 'p2p',
contactList: props.searchResults
tabSelected: 'p2p'
};
this.handleTabClick = this.handleTabClick.bind(this);
@@ -29,12 +28,6 @@ export default class NewTopicView extends React.Component {
this.props.onInitFind();
}
static getDerivedStateFromProps(nextProps, prevState) {
return {
contactList: nextProps.searchResults
};
}
handleTabClick(e) {
e.preventDefault();
HashNavigation.navigateTo(HashNavigation.addUrlParam(window.location.hash, 'tab', e.currentTarget.dataset.id));
@@ -93,10 +86,9 @@ export default class NewTopicView extends React.Component {
<FormattedMessage id="search_for_contacts" defaultMessage="Use search to find contacts"
description="Prompt in search field.">{
(search_for_contacts) => <ContactList
contacts={this.state.contactList}
contacts={this.props.searchResults}
myUserId={this.props.myUserId}
emptyListMessage={search_for_contacts}
topicSelected={this.state.selectedContact}
showOnline={false}
showUnread={false}
showContextMenu={false}
+9 -9
View File
@@ -552,7 +552,7 @@ class TinodeWeb extends React.Component {
// Sending "received" notifications
tnData(data) {
let topic = this.tinode.getTopic(data.topic);
const topic = this.tinode.getTopic(data.topic);
if (topic.msgStatus(data) >= Tinode.MESSAGE_STATUS_SENT) {
clearTimeout(this.receivedTimer);
this.receivedTimer = setTimeout(() => {
@@ -564,11 +564,11 @@ class TinodeWeb extends React.Component {
/* Fnd topic: find contacts by tokens */
tnInitFind() {
let fnd = this.tinode.getFndTopic();
const fnd = this.tinode.getFndTopic();
fnd.onSubsUpdated = this.tnFndSubsUpdated;
if (fnd.isSubscribed()) {
this.tnFndSubsUpdated();
} else {
fnd.onSubsUpdated = this.tnFndSubsUpdated;
fnd.subscribe(fnd.startMetaQuery().withSub().withTags().build()).catch((err) => {
this.handleError(err.message, 'err');
});
@@ -576,7 +576,7 @@ class TinodeWeb extends React.Component {
}
tnFndSubsUpdated() {
let foundContacts = [];
const foundContacts = [];
// Don't attempt to create P2P topics which already exist. Server will reject the duplicates.
this.tinode.getFndTopic().contacts((s) => {
foundContacts.push(s);
@@ -591,7 +591,7 @@ class TinodeWeb extends React.Component {
@param query {Array} is an array of contacts to search for
*/
handleSearchContacts(query) {
var fnd = this.tinode.getFndTopic();
const fnd = this.tinode.getFndTopic();
fnd.setMeta({desc: {public: query}}).then((ctrl) => {
return fnd.getMeta(fnd.startMetaQuery().withSub().build());
}).catch((err) => {
@@ -848,9 +848,9 @@ class TinodeWeb extends React.Component {
}
handleTopicUpdateRequest(topicName, pub, priv, permissions) {
var topic = this.tinode.getTopic(topicName);
const topic = this.tinode.getTopic(topicName);
if (topic) {
var params = {};
const params = {};
if (pub) {
params.public = pub;
}
@@ -868,9 +868,9 @@ class TinodeWeb extends React.Component {
}
handleChangePermissions(topicName, mode, uid) {
var topic = this.tinode.getTopic(topicName);
const topic = this.tinode.getTopic(topicName);
if (topic) {
var am = topic.getAccessMode();
const am = topic.getAccessMode();
if (uid) {
am.updateGiven(mode);
mode = am.getGiven();