diff --git a/src/routes/_actions/autosuggestAccountSearch.js b/src/routes/_actions/autosuggestAccountSearch.js index c00f4df6..c848d826 100644 --- a/src/routes/_actions/autosuggestAccountSearch.js +++ b/src/routes/_actions/autosuggestAccountSearch.js @@ -73,13 +73,17 @@ export function doAccountSearch (searchText) { }) } + function onError (err) { + console.warn('ignored autosuggest error', err) + } + scheduleIdleTask(() => { if (canceled) { return } // run the two searches in parallel - searchAccountsLocally().then(onNewResults) - searchAccountsRemotely().then(onNewResults) + searchAccountsLocally().then(onNewResults).catch(onError) + searchAccountsRemotely().then(onNewResults).catch(onError) }) return { diff --git a/src/routes/_actions/autosuggestHashtagSearch.js b/src/routes/_actions/autosuggestHashtagSearch.js index 10f1fd08..94576c4b 100644 --- a/src/routes/_actions/autosuggestHashtagSearch.js +++ b/src/routes/_actions/autosuggestHashtagSearch.js @@ -33,12 +33,16 @@ export function doHashtagSearch (searchText) { } scheduleIdleTask(async () => { - const results = await requestThrottler.request() - store.setForCurrentAutosuggest({ - autosuggestType: 'hashtag', - autosuggestSelected: 0, - autosuggestSearchResults: results - }) + try { + const results = await requestThrottler.request() + store.setForCurrentAutosuggest({ + autosuggestType: 'hashtag', + autosuggestSelected: 0, + autosuggestSearchResults: results + }) + } catch (err) { + console.warn('ignored autosuggest error', err) + } }) return { diff --git a/src/routes/_store/observers/autosuggestObservers.js b/src/routes/_store/observers/autosuggestObservers.js index 1175c264..27e31e0f 100644 --- a/src/routes/_store/observers/autosuggestObservers.js +++ b/src/routes/_store/observers/autosuggestObservers.js @@ -24,10 +24,10 @@ export function autosuggestObservers () { const { composeFocused } = store.get() const autosuggestSelecting = store.getForCurrentAutosuggest('autosuggestSelecting') if (!composeFocused || !autosuggestSearchText || autosuggestSelecting) { + resetAutosuggest() return } - resetAutosuggest() if (autosuggestSearchText.startsWith(':')) { // emoji lastSearch = doEmojiSearch(autosuggestSearchText) } else if (autosuggestSearchText.startsWith('#')) { // hashtag