diff --git a/frontend/src/metabase/query_builder/actions.js b/frontend/src/metabase/query_builder/actions.js index 70a57d157401f9d7c06eefbfc03412a29b854d62..a47cd2e0b33682b24927a984e50408360931f7f2 100644 --- a/frontend/src/metabase/query_builder/actions.js +++ b/frontend/src/metabase/query_builder/actions.js @@ -131,6 +131,7 @@ export const POP_STATE = "metabase/qb/POP_STATE"; export const popState = createThunkAction( POP_STATE, location => async (dispatch, getState) => { + dispatch(cancelQuery()); const card = getCard(getState()); if (location.state && location.state.card) { if (!Utils.equals(card, location.state.card)) { diff --git a/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx b/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx index c847bc7b87c16f84d2eb12f255bcf48fca5fd905..c60e379cb0461c624ae256843e71eae6ebe09042 100644 --- a/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx +++ b/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx @@ -211,6 +211,7 @@ export default class NativeQueryEditor extends Component { } componentWillUnmount() { + this.props.cancelQuery(); document.removeEventListener("keydown", this.handleKeyDown); } @@ -233,6 +234,7 @@ export default class NativeQueryEditor extends Component { }; runQuery = () => { + this.props.cancelQuery(); const { query, runQuestionQuery } = this.props; // if any text is selected, just run that