[FIX] DM header blink (#2011)

This commit is contained in:
Djorkaeff Alexandre 2020-04-09 02:20:57 -03:00 committed by GitHub
parent 46660572c3
commit 2e65a795df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 12 deletions

View File

@ -61,8 +61,15 @@ export default async function canOpenRoom({ rid, path }) {
if (rid) {
try {
await subsCollection.find(rid);
return { rid };
const room = await subsCollection.find(rid);
return {
rid,
t: room.t,
name: room.name,
fname: room.fname,
prid: room.prid,
uids: room.uids
};
} catch (e) {
// Do nothing
}

View File

@ -812,7 +812,9 @@ const RocketChat = {
return this.sdk.get('rooms.info', { roomId });
},
getUidDirectMessage(room, userId) {
getUidDirectMessage(room) {
const { id: userId } = reduxStore.getState().login.user;
// legacy method
if (!room.uids && room.rid && room.t === 'd') {
return room.rid.replace(userId, '').trim();

View File

@ -34,7 +34,12 @@ const navigate = function* navigate({ params }) {
const [type, name] = params.path.split('/');
if (room) {
yield Navigation.navigate('RoomsListView');
Navigation.navigate('RoomView', { name, t: roomTypes[type], ...room });
Navigation.navigate('RoomView', {
name,
t: roomTypes[type],
roomUserId: RocketChat.getUidDirectMessage(room),
...room
});
}
} else {
yield handleInviteLink({ params });

View File

@ -384,11 +384,10 @@ class RoomActionsView extends React.Component {
updateRoomMember = async() => {
const { room } = this.state;
const { user } = this.props;
try {
if (!RocketChat.isGroupChat(room)) {
const roomUserId = RocketChat.getUidDirectMessage(room, user.id);
const roomUserId = RocketChat.getUidDirectMessage(room);
const result = await RocketChat.getUserInfo(roomUserId);
if (result.success) {
this.setState({ member: result.user });

View File

@ -390,10 +390,10 @@ class RoomView extends React.Component {
const { t } = room;
if (t === 'd' && !RocketChat.isGroupChat(room)) {
const { user, navigation } = this.props;
const { navigation } = this.props;
try {
const roomUserId = RocketChat.getUidDirectMessage(room, user.id);
const roomUserId = RocketChat.getUidDirectMessage(room);
navigation.setParams({ roomUserId });

View File

@ -531,10 +531,7 @@ class RoomsListView extends React.Component {
getUserPresence = uid => RocketChat.getUserPresence(uid)
getUidDirectMessage = (room) => {
const { user: { id } } = this.props;
return RocketChat.getUidDirectMessage(room, id);
}
getUidDirectMessage = room => RocketChat.getUidDirectMessage(room);
goRoom = (item) => {
const { navigation } = this.props;