Simplify dispatch blocks

This commit is contained in:
J. Ryan Stinnett 2019-11-12 13:29:01 +00:00
parent d72dedb0ce
commit 3f2b77189e

View file

@ -179,21 +179,10 @@ class RoomViewStore extends Store {
} else if (payload.room_alias) { } else if (payload.room_alias) {
// Try the room alias to room ID navigation cache first to avoid // Try the room alias to room ID navigation cache first to avoid
// blocking room navigation on the homeserver. // blocking room navigation on the homeserver.
const roomId = getCachedRoomIDForAlias(payload.room_alias); let roomId = getCachedRoomIDForAlias(payload.room_alias);
if (roomId) { if (!roomId) {
dis.dispatch({ // Room alias cache miss, so let's ask the homeserver. Resolve the alias
action: 'view_room', // and then do a second dispatch with the room ID acquired.
room_id: roomId,
event_id: payload.event_id,
highlighted: payload.highlighted,
room_alias: payload.room_alias,
auto_join: payload.auto_join,
oob_data: payload.oob_data,
});
return;
}
// Room alias cache miss, so let's ask the homeserver.
// Resolve the alias and then do a second dispatch with the room ID acquired
this._setState({ this._setState({
roomId: null, roomId: null,
initialEventId: null, initialEventId: null,
@ -206,15 +195,7 @@ class RoomViewStore extends Store {
try { try {
const result = await MatrixClientPeg.get().getRoomIdForAlias(payload.room_alias); const result = await MatrixClientPeg.get().getRoomIdForAlias(payload.room_alias);
storeRoomAliasInCache(payload.room_alias, result.room_id); storeRoomAliasInCache(payload.room_alias, result.room_id);
dis.dispatch({ roomId = result.room_id;
action: 'view_room',
room_id: result.room_id,
event_id: payload.event_id,
highlighted: payload.highlighted,
room_alias: payload.room_alias,
auto_join: payload.auto_join,
oob_data: payload.oob_data,
});
} catch (err) { } catch (err) {
dis.dispatch({ dis.dispatch({
action: 'view_room_error', action: 'view_room_error',
@ -222,8 +203,20 @@ class RoomViewStore extends Store {
room_alias: payload.room_alias, room_alias: payload.room_alias,
err, err,
}); });
return;
} }
} }
dis.dispatch({
action: 'view_room',
room_id: roomId,
event_id: payload.event_id,
highlighted: payload.highlighted,
room_alias: payload.room_alias,
auto_join: payload.auto_join,
oob_data: payload.oob_data,
});
}
} }
_viewRoomError(payload) { _viewRoomError(payload) {