diff options
Diffstat (limited to 'src/components/emoji_input/suggestor.js')
| -rw-r--r-- | src/components/emoji_input/suggestor.js | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/components/emoji_input/suggestor.js b/src/components/emoji_input/suggestor.js index 0d268f85..14a2b41e 100644 --- a/src/components/emoji_input/suggestor.js +++ b/src/components/emoji_input/suggestor.js @@ -57,6 +57,8 @@ export const suggestEmoji = emojis => input => { } export const suggestUsers = ({ dispatch, state }) => { + // Keep some persistent values in closure, most importantly for the + // custom debounce to work. Lodash debounce does not return a promise. let suggestions = [] let previousQuery = '' let timeout = null @@ -66,7 +68,6 @@ export const suggestUsers = ({ dispatch, state }) => { const debounceUserSearch = (query) => { cancelUserSearch && cancelUserSearch() return new Promise((resolve, reject) => { - clearTimeout(timeout) timeout = setTimeout(() => { userSearch(query).then(resolve).catch(reject) }, 300) @@ -95,11 +96,6 @@ export const suggestUsers = ({ dispatch, state }) => { user => user.screen_name.toLowerCase().startsWith(noPrefix) || user.name.toLowerCase().startsWith(noPrefix) - - /* taking only 20 results so that sorting is a bit cheaper, we display - * only 5 anyway. could be inaccurate, but we ideally we should query - * backend anyway - */ ).slice(0, 20).sort((a, b) => { let aScore = 0 let bScore = 0 |
