fix: app won't open archived channels (#5135)
* getSubscriptionByRoomId, then if null do the request * add getRoomByTypeAndName * minor tweak --------- Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
This commit is contained in:
parent
9ee26916b5
commit
5c5ff2d51f
|
@ -7,7 +7,9 @@ import {
|
||||||
SubscriptionType,
|
SubscriptionType,
|
||||||
IUser,
|
IUser,
|
||||||
IAvatarSuggestion,
|
IAvatarSuggestion,
|
||||||
IProfileParams
|
IProfileParams,
|
||||||
|
RoomType,
|
||||||
|
IServerRoom
|
||||||
} from '../../definitions';
|
} from '../../definitions';
|
||||||
import { ISpotlight } from '../../definitions/ISpotlight';
|
import { ISpotlight } from '../../definitions/ISpotlight';
|
||||||
import { TEAM_TYPE } from '../../definitions/ITeam';
|
import { TEAM_TYPE } from '../../definitions/ITeam';
|
||||||
|
@ -334,6 +336,9 @@ export const getRoomInfo = (roomId: string) =>
|
||||||
// RC 0.72.0
|
// RC 0.72.0
|
||||||
sdk.get('rooms.info', { roomId });
|
sdk.get('rooms.info', { roomId });
|
||||||
|
|
||||||
|
export const getRoomByTypeAndName = (roomType: RoomType, roomName: string): Promise<IServerRoom> =>
|
||||||
|
sdk.methodCallWrapper('getRoomByTypeAndName', roomType, roomName);
|
||||||
|
|
||||||
export const getVisitorInfo = (visitorId: string) =>
|
export const getVisitorInfo = (visitorId: string) =>
|
||||||
// RC 2.3.0
|
// RC 2.3.0
|
||||||
sdk.get('livechat/visitors.info', { visitorId });
|
sdk.get('livechat/visitors.info', { visitorId });
|
||||||
|
|
|
@ -27,6 +27,7 @@ import { IApplicationState, IServerRoom, IUser, SubscriptionType } from '../../d
|
||||||
import styles from './styles';
|
import styles from './styles';
|
||||||
import Options from './Options';
|
import Options from './Options';
|
||||||
import { Services } from '../../lib/services';
|
import { Services } from '../../lib/services';
|
||||||
|
import { getSubscriptionByRoomId } from '../../lib/database/services/Subscription';
|
||||||
|
|
||||||
interface IDirectoryViewProps {
|
interface IDirectoryViewProps {
|
||||||
navigation: CompositeNavigationProp<
|
navigation: CompositeNavigationProp<
|
||||||
|
@ -163,13 +164,20 @@ class DirectoryView extends React.Component<IDirectoryViewProps, IDirectoryViewS
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
this.goRoom({ rid: result.room._id, name: item.username, t: SubscriptionType.DIRECT });
|
this.goRoom({ rid: result.room._id, name: item.username, t: SubscriptionType.DIRECT });
|
||||||
}
|
}
|
||||||
} else if (['p', 'c'].includes(item.t) && !item.teamMain) {
|
return;
|
||||||
const result = await Services.getRoomInfo(item._id);
|
}
|
||||||
if (result.success) {
|
const subscription = await getSubscriptionByRoomId(item._id);
|
||||||
|
if (subscription) {
|
||||||
|
this.goRoom(subscription);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (['p', 'c'].includes(item.t) && !item.teamMain) {
|
||||||
|
const result = await Services.getRoomByTypeAndName(item.t, item.name || item.fname);
|
||||||
|
if (result) {
|
||||||
this.goRoom({
|
this.goRoom({
|
||||||
rid: item._id,
|
rid: item._id,
|
||||||
name: item.name,
|
name: item.name,
|
||||||
joinCodeRequired: result.room.joinCodeRequired,
|
joinCodeRequired: result.joinCodeRequired,
|
||||||
t: item.t as SubscriptionType,
|
t: item.t as SubscriptionType,
|
||||||
search: true
|
search: true
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue