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:
Reinaldo Neto 2023-08-01 11:45:56 -03:00 committed by GitHub
parent 9ee26916b5
commit 5c5ff2d51f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 5 deletions

View File

@ -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 });

View File

@ -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
}); });