Merge pull request #3170 from matrix-org/bwindels/handle-associated-failures

Handle associated event send failures
This commit is contained in:
Bruno Windels 2019-07-03 09:02:58 +00:00 committed by GitHub
commit 353f5a205c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 153 additions and 13 deletions

View file

@ -31,6 +31,7 @@ import {renderModel} from '../../../editor/render';
import EditorStateTransfer from '../../../utils/EditorStateTransfer';
import {MatrixClient} from 'matrix-js-sdk';
import classNames from 'classnames';
import {EventStatus} from 'matrix-js-sdk';
export default class MessageEditor extends React.Component {
static propTypes = {
@ -195,12 +196,24 @@ export default class MessageEditor extends React.Component {
}, contentBody);
const roomId = this.props.editState.getEvent().getRoomId();
this._cancelPreviousPendingEdit();
this.context.matrixClient.sendMessage(roomId, content);
dis.dispatch({action: "edit_event", event: null});
dis.dispatch({action: 'focus_composer'});
}
_cancelPreviousPendingEdit() {
const originalEvent = this.props.editState.getEvent();
const previousEdit = originalEvent.replacingEvent();
if (previousEdit && (
previousEdit.status === EventStatus.QUEUED ||
previousEdit.status === EventStatus.NOT_SENT
)) {
this.context.matrixClient.cancelPendingEvent(previousEdit);
}
}
_onAutoCompleteConfirm = (completion) => {
this.model.autoComplete.onComponentConfirm(completion);
}