diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-03-20 14:17:49 +0100 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2018-03-20 14:20:17 +0100 |
commit | 12b0ea06670c8f94a7d8f7534708b2bc3afb99b1 (patch) | |
tree | f99e6e29acf6a095faee9b440b5adf31b9b5cb6f /app/javascript/flavours/glitch/actions | |
parent | 0fa0836e63674104cea5095c5336bab8587d8634 (diff) |
[Glitch] Cancel outdated pending compose suggestions
Port 08f49bdb0d9ea03b1290bc1b6f1beaa37a6308e2 to the glitch flavour
Diffstat (limited to 'app/javascript/flavours/glitch/actions')
-rw-r--r-- | app/javascript/flavours/glitch/actions/compose.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/actions/compose.js b/app/javascript/flavours/glitch/actions/compose.js index 1e9386859..8a6ca3699 100644 --- a/app/javascript/flavours/glitch/actions/compose.js +++ b/app/javascript/flavours/glitch/actions/compose.js @@ -1,4 +1,5 @@ import api from 'flavours/glitch/util/api'; +import { CancelToken } from 'axios'; import { throttle } from 'lodash'; import { search as emojiSearch } from 'flavours/glitch/util/emoji/emoji_mart_search_light'; import { useEmoji } from './emojis'; @@ -11,6 +12,8 @@ import { refreshDirectTimeline, } from './timelines'; +let cancelFetchComposeSuggestionsAccounts; + export const COMPOSE_CHANGE = 'COMPOSE_CHANGE'; export const COMPOSE_CYCLE_ELEFRIEND = 'COMPOSE_CYCLE_ELEFRIEND'; export const COMPOSE_SUBMIT_REQUEST = 'COMPOSE_SUBMIT_REQUEST'; @@ -278,13 +281,22 @@ export function undoUploadCompose(media_id) { }; export function clearComposeSuggestions() { + if (cancelFetchComposeSuggestionsAccounts) { + cancelFetchComposeSuggestionsAccounts(); + } return { type: COMPOSE_SUGGESTIONS_CLEAR, }; }; const fetchComposeSuggestionsAccounts = throttle((dispatch, getState, token) => { + if (cancelFetchComposeSuggestionsAccounts) { + cancelFetchComposeSuggestionsAccounts(); + } api(getState).get('/api/v1/accounts/search', { + cancelToken: new CancelToken(cancel => { + cancelFetchComposeSuggestionsAccounts = cancel; + }), params: { q: token.slice(1), resolve: false, |