Merge release-3.10 into master (#6654)

* PLT-6787 Fixed being able to send a post before files finished uploading (#6617)

* Fix quick switcher for channels/users not stored locally (#6610)

* Fix button text on confirm mention modal (#6609)

* fix post delete permission of channel admin (#6608)

* open comment thread for the most recent reply-able message (#6605)

* Use mutex flag with yarn to prevent concurrent builds interfering (#6619)

* Use mutex flag with yarn to prevent concurrent builds interfering

* Remove yarn mutex file with clean

* Minor bug fixes (#6615)

* PLT-6774 - Fixing color for offline icon

* PLT-6784 - Fixing status icon

* Fixing icon margin

* Updating caret position

* PLT-6070 Have ChannelMentionProvider stop searching after a term returns no results (#6620)

* Fixing JS error (#6623)

* Minor bug fixes (#6622)

* PLT-6808 - Updating channel switcher on mobile

* PLT-6743 - Updating scrollbar styling

* Login instead of failing if user exists in OAuth sign-up flow (#6627)

* PLT-6802 Disable team switcher (#6626)

* Disable team switcher

* Fix ESLint errors

* PLT-6807 Ensured select teams page can scroll on iOS (#6630)

* Do not redirect from account switch pages on 401 (#6631)

* Fixing loadtest command and renaming to /test (#6624)

* PLT-6820 Update mattermost-redux dependency (#6632)

* translations PR 20170612 (#6629)

* Bump HTTP client timeout to 30 seconds (#6633)

* For team unreads return empty array instead of null (#6636)

* PLT-6831 Fix status modal localization IDs (#6637)

* Fix status modal localization IDs

* Update test snapshot
Этот коммит содержится в:
Joram Wilander
2017-06-15 11:05:43 -04:00
коммит произвёл GitHub
родитель c0a0065472
Коммит 528f2dc6c3
52 изменённых файлов: 784 добавлений и 612 удалений

Просмотреть файл

@@ -54,6 +54,7 @@ export default class ChannelMentionProvider extends Provider {
constructor() {
super();
this.lastTermWithNoResults = '';
this.lastCompletedWord = '';
}
@@ -65,6 +66,11 @@ export default class ChannelMentionProvider extends Provider {
return false;
}
if (this.lastTermWithNoResults && pretext.startsWith(this.lastTermWithNoResults)) {
// Just give up since we know it won't return any results
return false;
}
if (this.lastCompletedWord && captured[0].startsWith(this.lastCompletedWord)) {
// It appears we're still matching a channel handle that we already completed
return false;
@@ -79,12 +85,14 @@ export default class ChannelMentionProvider extends Provider {
autocompleteChannels(
prefix,
(data) => {
(channels) => {
if (this.shouldCancelDispatch(prefix)) {
return;
}
const channels = data;
if (channels.length === 0) {
this.lastTermWithNoResults = pretext;
}
// Wrap channels in an outer object to avoid overwriting the 'type' property.
const wrappedChannels = [];

Просмотреть файл

@@ -109,7 +109,7 @@ export default class SwitchChannelProvider extends Provider {
// Dispatch suggestions for local data
const channels = getChannelsInCurrentTeam(getState()).concat(getGroupChannels(getState()));
const users = Object.assign([], searchProfiles(getState(), channelPrefix, true), true);
const users = Object.assign([], searchProfiles(getState(), channelPrefix, true));
this.formatChannelsAndDispatch(channelPrefix, suggestionId, channels, users, true);
// Fetch data from the server and dispatch
@@ -141,7 +141,7 @@ export default class SwitchChannelProvider extends Provider {
return;
}
const users = Object.assign([], searchProfiles(getState(), channelPrefix, true), usersFromServer);
const users = Object.assign([], searchProfiles(getState(), channelPrefix, true), usersFromServer.users);
const channels = getChannelsInCurrentTeam(getState()).concat(getGroupChannels(getState())).concat(channelsFromServer);
this.formatChannelsAndDispatch(channelPrefix, suggestionId, channels, users);
}