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
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
c0a0065472
Коммит
528f2dc6c3
@@ -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);
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user