Fix replying from search results for this and all rooms

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2019-09-09 09:34:08 +01:00
parent d8dbe28015
commit ef2ff31a46
3 changed files with 29 additions and 7 deletions

View file

@ -113,9 +113,19 @@ class RoomViewStore extends Store {
});
break;
case 'reply_to_event':
this._setState({
replyingToEvent: payload.event,
});
// If currently viewed room does not match the room in which we wish to reply then change rooms
// this can happen when performing a search across all rooms
if (payload.event && payload.event.getRoomId() !== this._state.roomId) {
dis.dispatch({
action: 'view_room',
room_id: payload.event.getRoomId(),
replyingToEvent: payload.event,
});
} else {
this._setState({
replyingToEvent: payload.event,
});
}
break;
case 'open_room_settings': {
const RoomSettingsDialog = sdk.getComponent("dialogs.RoomSettingsDialog");
@ -147,6 +157,11 @@ class RoomViewStore extends Store {
isEditingSettings: false,
};
// Allow being given an event to be replied to when switching rooms but sanity check its for this room
if (payload.replyingToEvent && payload.replyingToEvent.getRoomId() === payload.room_id) {
newState.replyingToEvent = payload.replyingToEvent;
}
if (this._state.forwardingEvent) {
dis.dispatch({
action: 'send_event',