summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/javascript/mastodon/actions/compose.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js
index 130b4af2395..1371f22b27a 100644
--- a/app/javascript/mastodon/actions/compose.js
+++ b/app/javascript/mastodon/actions/compose.js
@@ -1,4 +1,5 @@
import api from '../api';
+import { CancelToken } from 'axios';
import { throttle } from 'lodash';
import { search as emojiSearch } from '../features/emoji/emoji_mart_search_light';
import { tagHistory } from '../settings';
@@ -11,6 +12,8 @@ import {
refreshPublicTimeline,
} from './timelines';
+let cancelFetchComposeSuggestionsAccounts;
+
export const COMPOSE_CHANGE = 'COMPOSE_CHANGE';
export const COMPOSE_SUBMIT_REQUEST = 'COMPOSE_SUBMIT_REQUEST';
export const COMPOSE_SUBMIT_SUCCESS = 'COMPOSE_SUBMIT_SUCCESS';
@@ -257,13 +260,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,