message: dispatch for user screen
diff: @@ -566,7 +566,7 @@ export default React.createClass({
  });
  break;
  case 'view_user_info':
  - this._viewUser(payload.userId);
  + this._viewUser(payload.userId, payload.subAction);
  break;
  case 'view_room':
  // Takes either a room ID or room alias: if switching to a room the client is already
  @@ -922,13 +922,13 @@ export default React.createClass({
  this.notifyNewScreen('home');
  },
  - _viewUser: function(userId, action) {
  + _viewUser: function(userId, subAction) {
  // Wait for the first sync so that `getRoom` gives us a room object if it's
  // in the sync response
  const waitForSync = this.firstSyncPromise ?
  this.firstSyncPromise.promise : Promise.resolve();
  waitForSync.then(() => {
  - if (action === 'chat') {
  + if (subAction === 'chat') {
  this._chatCreateOrReuse(userId);
  return;
  }
  @@ -1631,7 +1631,11 @@ export default React.createClass({
  dis.dispatch(payload);
  } else if (screen.indexOf('user/') == 0) {
  const userId = screen.substring(5);
  - this._viewUser(userId, params.action);
  + dis.dispatch({
  + action: 'view_user_info',
  + userId: userId,
  + subAction: params.action,
  + });
  } else if (screen.indexOf('group/') == 0) {
  const groupId = screen.substring(6);
  